[grep] grep을 사용하는 동안 줄 번호를 얻으십시오

grep recursive를 사용하여 파일을 검색하여 문자열을 검색하고 일치하는 모든 파일과 해당 문자열을 포함하는 행이 터미널에 인쇄됩니다. 그러나 그 줄의 줄 번호도 얻을 수 있습니까 ??

예 : 현재 내가 얻는 것은 /var/www/file.php: $options = "this.target"이지만, 내가 얻으 려고 하는 것은 그 문자열을 포함하는 줄 번호가 /var/www/file.php: 1142 $options = "this.target";어디에 있는지 1142입니다.

재귀 적으로 grep하는 데 사용하는 구문은 다음과 같습니다. sudo grep -r 'pattern' '/var/www/file.php'

또 다른 질문은 패턴과 같지 않은 결과를 얻는 방법입니다. 모든 파일과 같지만 특정 문자열을 가진 파일과는 달리?



답변

grep -n SEARCHTERM file1 file2 ...


답변

줄 번호는 다음과 grep -n같이 인쇄됩니다 .

grep -n pattern file.txt

일치하는 줄없이 줄 번호 만 얻으려면 cut다음을 사용할 수 있습니다 .

grep -n pattern file.txt | cut -d : -f 1

패턴을 포함 하지 않는 라인 은 다음과 grep -v같이 인쇄됩니다 .

grep -v pattern file.txt


답변

줄 번호 만 원하면 다음을 수행하십시오.

grep -nr Pattern file.ext | gawk '{print $1}' FS=":"

예:

$ grep -nr 9780545460262 EXT20130410.txt | gawk '{print $1}' FS=":"
48793
52285
54023


답변

grep -A20 -B20 pattern file.txt

패턴 검색 및 패턴 전후 20 줄 표시


답변

grep -nr “검색 문자열”디렉토리

줄 번호가있는 줄이 표시됩니다.


답변

줄 번호와 함께 결과를 표시하려면 다음을 시도하십시오.

grep -nr "word to search for" /path/to/file/file

결과는 다음과 같아야합니다.

linenumber: other data "word to search for" other data


답변