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
. 그렇지 않으면 확장자가 없는 파일은 이상한 결과를 생성합니다. 전체 경로가 인쇄되거나 경로가 중간 하위 디렉터리에 있는 경우 그 중 하나에 점이 있으면 마지막 점 뒤의 경로 부분이 인쇄됩니다.