find . -name pattern
일부 파일을 찾기 위해 a 를 실행 중이며이 파일의 총 줄 수를 우아하게 얻고 싶습니다.
어떻게하면 되나요?
답변
사용중인 버전이 wc
있고 find
필요한 옵션을 지원하는 경우 :
find . -name pattern -print0 | wc -l --files0-from=-
파일 당 개수와 총 개수를 제공합니다. 합계 만 원하는 경우 :
find . -name pattern -print0 | wc -l --files0-from=- | tail -n 1
find
해당 버전의 다른 옵션은 다음 을 지원합니다.
find . -name pattern -exec cat {} + | wc -l
답변
$ find . -name '*.txt' -exec cat '{}' \; | wc -l
각 파일을 가져 cat
와서 wc
세트를 통해 라인 카운팅 모드 로 파이프 합니다.
또는 이상한 파일 이름이 안전합니다.
$ find . -name '*.txt' -print0 | xargs -0 cat | wc -l
답변
불행히도 :
find . -iname "yourpattern" -exec cat '{}' \; |wc -l
여분의 줄을 삽입합니다. 신뢰할 수있는 라인 수를 얻으려면 다음을 수행해야합니다.
find . -name "yourpattern" -print0 | xargs -0 wc -l
이렇게하면 공간을 올바르게 처리하고 각 파일의 줄 수와 총 줄 수를 더 빠르고 스타일로 얻을 수 있습니다!
답변
안되는 또 다른 쉬운 방법. 파일의 줄 :
wc -l filename
예:
wc -l myfile.txt
답변
테스트되지 않았지만 다음과 같은 것은 어떻습니까?
cat `find . -name "searchterm" -print` | wc -l
답변
wc -l `find -name filename`
효율적으로 작동합니다.