![하위 디렉터리에서 크기가 0바이트인 모든 파일을 삭제하는 방법은 무엇입니까? [복사]](https://linux55.com/image/111255/%ED%95%98%EC%9C%84%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%EC%84%9C%20%ED%81%AC%EA%B8%B0%EA%B0%80%200%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%9D%B8%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
나는 다음과 같이 크기별로 파일을 나열하고 정렬하는 데 익숙합니다.
$ 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