最大のファイルの上位10個を見つけて削除したいです。以下は、最大10個のファイルを見つけるためのコマンドです。
du -a * | sort -n -r | head -n 10
答え1
以下のユーティリティはすべてGNUによって実装されていると仮定します。
find /some/folder -type f -printf '%s\t%p\0' | \
sort -rnz | \
head -10 -z | \
cut -f2- -z | \
xargs -0 rm -f
答え2
find . -maxdepth 1 -type f | sort | tail -n 1
これにより、ディレクトリ以外のファイルのみが削除されます。
必要なのはこれだ。
- xargs rm - >ファイルの削除。
また、サブディレクトリからファイルを削除できるように最大深度を増やすこともできます。