私は、次のようにサイズ別にファイルを一覧表示して並べ替えるのに慣れています。
$ 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