find 명령을 사용하여 디렉토리와 모든 하위 디렉토리의 모든 파일 유형을 나열하는 방법은 무엇입니까? [복사]

find 명령을 사용하여 디렉토리와 모든 하위 디렉토리의 모든 파일 유형을 나열하는 방법은 무엇입니까? [복사]

find 명령을 사용하여 디렉터리의 모든 파일 확장자를 반복적으로 나열하려면 어떻게 해야 합니까? 와일드카드를 사용하면 특정 유형의 모든 파일을 찾을 수 있습니다.

find . -iname '*.mp3'

하지만 검색 디렉터리와 모든 하위 디렉터리를 나열하고 발견된 모든 파일 확장자를 나열하고 싶습니다.

답변1

추가 검색을 통해 이 솔루션이 밝혀졌습니다.

find . -type f | awk -F'.' '{print $NF}' | sort| uniq -c | sort -g

왜 그런지 모르겠어이 링크이전 검색에는 나오지 않았습니다.

답변2

이는 귀하의 솔루션보다 더 강력합니다.

find . -type f -name '*.*' | awk -F. '{print $NF}' | sort | uniq -c | sort -g

즉, 파일 이름의 중간 지점 이후의 부분을 찾고 있으므로 해당 세부 정보를 에 추가하십시오 find. 그렇지 않으면 확장자가 없는 파일은 이상한 결과를 생성합니다. 전체 경로가 인쇄되거나 경로가 중간 하위 디렉터리에 있는 경우 그 중 하나에 점이 있으면 마지막 점 뒤의 경로 부분이 인쇄됩니다.

관련 정보