|  | @@ -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
 |