하위 디렉터리에서 크기가 0바이트인 모든 파일을 삭제하는 방법은 무엇입니까? [복사]

하위 디렉터리에서 크기가 0바이트인 모든 파일을 삭제하는 방법은 무엇입니까? [복사]

나는 다음과 같이 크기별로 파일을 나열하고 정렬하는 데 익숙합니다.

$ for entry in $(ls); do du -s "$entry"; done | sort -n

그런데 0바이트 파일을 모두 삭제하려면 어떻게 해야 하나요?

내 끔찍한 시도는 if 조건을 시도하는 것이지만 크기를 확인하는 방법을 모르겠습니다. 그러면 모든 결과를 파이프하고 삭제할까요?

$ for entry in $(ls); if du -s "$entry" == 0 | rm "$entry"

답변1

당신이 사용할 수있는 find:

find . -maxdepth 1 -type f -size 0 -delete

관련 정보