[bash] 터미널 출력의 라인 수
SO에서 이것을 찾을 수 없습니다. 터미널에서 다음 명령을 실행했습니다.
>> grep -Rl "curl" ./
키워드 컬이 발생하는 파일 목록이 표시됩니다. 파일 수를 세고 싶습니다. 내가 생각할 수있는 첫 번째 방법은 터미널에 나온 출력의 줄 수를 세는 것입니다. 어떻게해야합니까?
답변
( line count ) 스위치 를 wc
사용하여 결과를 파이프하십시오 .-l
grep -Rl "curl" ./ | wc -l
답변
EaterOfCode의 의견을 여기에 답으로 넣으십시오.
grep 자체에도 카운트를 반환하는 -c 플래그가 있습니다.
따라서 명령과 출력은 다음과 같습니다.
$ grep -Rl "curl" ./ -c
24
편집하다:
이 답변은 더 짧을 수 있으므로 허용 된 답변 (을 사용하는 것)보다 좋아 보일 수 있습니다 wc
. 나는 더 이상 이것에 동의하지 않습니다. 배관을 통해 라인 수를 세는 wc -l
것이 다른 프로그램과 함께 사용할 때보 다 훨씬 유용하다는 것을 기억하고 싶습니다 grep
.
답변
마지막 줄이 줄 바꿈으로 끝나는 경우 ‘wc’로 파이핑하는 것이 더 나을 수 있습니다
.
예를 들면 다음과 같습니다.
$ echo "asd" | wc -l
반환 1
및
$ echo -n "asd" | wc -l
돌아올 것이다 0
그래서 내가 자주 사용하는 것은 grep <anything> -c
$ echo "asd" | grep "^.*$" -c
1
$ echo -n "asd" | grep "^.*$" -c
1
이것은 wc -l
돌아 오는 것보다 현실에 더 가깝습니다 .