답변:
같은 것일 수 있습니다
find . -type f | wc -l
트릭을 할 것입니다. 상위 폴더에서 명령을 시도하십시오.
find . -type f -ls | wc -l
find . -type f -print0 | tr -d -c '\0' | wc -c
find . -type f -printf . | wc -c
-내 -exec echo 대신 솔루션 인쇄를 채택합니다.
현재 디렉토리의 루트에서 파일 (확장자가없는 파일도 포함)을 계산하려면 다음을 사용하십시오.
ls -l | grep ^- | wc -l
현재 디렉토리의 루트에서 재귀 적으로 파일 (확장자가없는 파일도 포함)을 계산하려면 다음을 사용하십시오.
ls -lR | grep ^- | wc -l
가장 빠르고 쉬운 방법은을 사용하는 것 tree
입니다. 속도는 출력 터미널에 의해 제한되므로 결과를에 파이프 tail -1
하면 즉시 결과를 얻을 수 있습니다. -L
옵션을 사용하여 원하는 디렉토리 수준으로 결과를 제어 할 수도 있습니다. 컬러 출력의 경우을 사용하십시오 -C
. 예를 들면 다음과 같습니다.
$ tree share/some/directory/ | tail -1
558 directories, 853 files
$ tree -L 2 share/some/directory/ | tail -1
120 directories, 3 files
아직 없으면 여기에서 확인할 수 있습니다 .
find -type f -printf . | wc -c
99 개의 줄 바꿈이 포함 된 파일 이름은 100 개의 파일로 계산되므로 find의 출력 줄을 세지 마십시오.
find는 트리보다 빠르기 때문에 디렉토리에 공백을 허용하면서 현재 작업 디렉토리의 각 디렉토리 (CWD의 파일 무시)에서 파일을 계산하는 데 아래를 사용했습니다.
ls -d */ | while read dir_line
do
echo -n "$dir_line :"
find "$dir_line" -type f | wc -l
done
ls
것은 매우 나쁜 생각입니다.
당신이 사용할 수있는 find . | wc -l
find .
현재 폴더에서 시작하는 모든 파일과 폴더 및 해당 내용을 나열합니다.
wc -l
찾기 결과 계산