codememo

단말기 출력의 행 수

tipmemo 2023. 4. 13. 20:53
반응형

단말기 출력의 행 수

SO에서는 찾을 수 없었습니다.단말기에서 다음 명령을 실행했습니다.

>> grep -Rl "curl" ./

키워드 curl이 발생한 파일 목록이 표시됩니다.파일 수를 세고 싶어요.첫 번째로 생각할 수 있는 것은 단말기에 도착한 출력의 회선수를 세는 것입니다.내가 어떻게 그럴 수 있을까?

결과를 파이프로 연결하여-l(회선 수) 스위치:

grep -Rl "curl" ./ | wc -l

Eatter Of Code의 코멘트를 답으로 여기에 넣습니다.

grep 자체에는 카운트를 반환하는 -c 플래그도 있습니다.

따라서 명령어와 출력은 다음과 같습니다.

$ grep -Rl "curl" ./ -c
24

편집:

이 답변은 받아들여진 답변보다 짧을 수 있으며, 따라서 더 좋게 보일 수 있습니다(사용하고 있는 경우).wc). 저는 더 이상 이에 동의하지 않습니다.파이프로 줄을 셀 수 있다는 걸 기억하고 싶어wc -l다른 프로그램과 함께 사용할 수 있기 때문에 훨씬 편리합니다.grep뿐만 아니라.

마지막 라인이 새 라인으로 끝나는 경우 'wc'로의 파이핑이 더 나을 수 있습니다(이 경우, 다음과 같습니다).
그러나 마지막 행이 새 행 'wc - l'로 끝나지 않으면 잘못된 결과가 반환됩니다.

예를 들어 다음과 같습니다.

$ 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다시 돌아온다.

"abcd4yyyy" | grep 4 -c로서 계산하다.1

언급URL : https://stackoverflow.com/questions/12457457/count-number-of-lines-in-terminal-output

반응형