|
@@ -34,7 +34,12 @@ do
|
|
|
line_number=$(echo "$matching_line" | cut -d ":" -f 1)
|
|
|
echo "在文件 $file 中找到了字符串 '$2',位于第 $line_number 行:"
|
|
|
|
|
|
- sed -n "$((line_number - 50)),$((line_number + 100))p" "$dir/$file" | awk '{printf("%s %s\n", NR+'$(($line_number - 51))', $0)}'
|
|
|
+ if [ $((line_number - 50)) -lt 0 ]; then
|
|
|
+ sed -n "1,$((line_number + 100))p" "$dir/$file" | awk '{printf("%s %s\n", NR, $0)}'
|
|
|
+ else
|
|
|
+ sed -n "$((line_number - 50)),$((line_number + 100))p" "$dir/$file" | awk '{printf("%s %s\n", NR+'$(($line_number - 51))', $0)}'
|
|
|
+ fi
|
|
|
+
|
|
|
break
|
|
|
fi
|
|
|
done
|