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