나는 다음과 같이 크기별로 파일을 나열하고 정렬하는 데 익숙합니다.
$ 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