트리맵에 모든 파일 확장자를 나열하고 각 파일 확장자의 발생 횟수를 계산하는 간단한 쉘 함수(bash 선호)를 찾고 있습니다.
예를 들어, list_extensions .
다음과 같은 내용이 반환됩니다.
pdf 134
tex 42
cpp 30
...
확장자가 없는 파일도 계산할 수 있다는 장점이 있습니다.
답변1
don_crissti가 댓글에서 언급했듯이 이 질문은 중복되어 답변을 찾을 수 있습니다.여기. 그러나 확장자가 없는 파일의 개수도 계산하고 싶을 수도 있습니다. 내 시도는 다음과 같습니다.
echo no_ext $(find . -type f -exec sh -c 'echo $(basename "{}")' \; | grep -v '\.' | wc -l)
후속 명령과 그 목적을 설명하려고 노력할 것입니다.
먼저 find를 사용하여 일반 파일을 찾고 다소 지루한 방법으로 basename 명령을 통해 해당 경로를 전달합니다.
find . -type f -exec sh -c 'echo $(basename "{}")' \;
둘째, 역방향 모드에서 grep을 사용하여 마침표 없이 파일 이름을 간단히 검색할 수 있습니다.
grep -v
마지막 단계는 행 수를 계산하는 것입니다.
wc -l
이것은 에코에 공급될 수 있습니다. 이 모든 결과를 위의 명령에 결합하십시오.
편집 : 나는 사용한다명령 대체계산된 숫자에 라벨(이 경우 "no_ext")을 연결합니다. 에코 없이 대괄호 사이에서 개별적으로 명령을 실행하여 계산된 숫자만 인쇄할 수도 있습니다.