특정 형식의 파일 수를 알고 싶습니다.. txt특정 디렉토리에
답변1
이 디렉터리에서 다음 작업을 수행할 수 있습니다.
files=( *.txt )
echo "${#files[@]}"
답변2
다음을 사용할 수도 있습니다.
ls -l *.txt | wc -l
답변3
.
이상한 파일 이름(예: 줄 바꿈 포함), 도트 파일( 로 시작하는 파일 이름 ) 및 따옴표와 같은 기타 특수 문자(현재 디렉토리에만 해당)를 처리하는 이식 가능한 방법입니다 .
find -maxdepth 1 -type f -iname "*.txt" -print0 | tr -cd '\0' | wc -c
또는 재귀적으로( 없이 -maxdepth
) 하위 디렉터리의 파일도 계산합니다.
find -type f -iname "*.txt" -print0 | tr -cd '\0' | wc -c
설명하다:
-maxdepth 1
현재 디렉터리 내에서만 검색하고 하위 디렉터리로 드릴다운하지 마세요.-type f
일반 파일만 검색합니다.-iname "*.txt"
txt로 끝나는 파일을 검색하며 대소문자를 구분합니다.-print0
이것은 중요한 부분입니다. 목록을 널 바이트 문자로 구분합니다.tr -cd '\0'
널 바이트 문자를 제외한 모든 것을 제거하십시오.wc -c
문자 수 계산(현재 파일 수)
답변4
다음을 수행할 수 있습니다.
ls /path/to/directory | grep ".txt$" | wc -l
포함된 하위 디렉터리를 검색하려면 다음을 수행하세요.
ls -lR /path/to/directory | grep ".txt$" | wc -l
다른 방법은 다음과 같습니다.
find . -name "*.txt" | wc -l