grep 명령을 실행할 때:
grep -rc 'PATTERN' .
패턴이 발생한 줄 수를 인쇄하지만 다음과 같습니다.
./hotel_232424.dat:234
등...
./hotel_232424.dat:
부품을 제거하고 숫자만 인쇄하려면 어떻게 해야 합니까 ?
답변1
GNU 구현에서는 / 옵션을 grep
사용할 수 있습니다 .-h
--no-filename
$ grep -rc PATTERN .
./b:1
./a:0
./1/2/c:2
$ grep -rhc PATTERN .
1
0
2
휴대용/표준에 해당하는 것은 다음과 같습니다.
$ find . -type f -exec grep -c PATTERN {} \;
0
2
1
그러나 이는 grep
파일당 하나의 호출을 실행한다는 의미입니다.
대신 총 발생 횟수(여기서는 1+2 = 3)를 원하는 경우 다음과 같이 할 수 있습니다(이식 가능).
$ find . -type f -exec cat {} + | grep -c PATTERN
3
(일부 파일의 마지막 줄 뒤에 데이터가 있는 경우(즉, 텍스트가 아닌 파일) 이로 인해 결과가 엉망이 될 수 있습니다.)
또는 grep
귀하와 같은 지원을 사용하십시오 -r
.
$ grep -r PATTERN . | wc -l
3