유닉스 디렉토리에서 특정 형식의 파일 수를 확인하십시오.

유닉스 디렉토리에서 특정 형식의 파일 수를 확인하십시오.

특정 형식의 파일 수를 알고 싶습니다.. 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

관련 정보