2 KBより大きいファイルを検索し、サイズで並べ替える次のコマンドがあります。
find . -size +2k -name *.log -printf "%p \t%k kb\n" | ls -lS
しかし ls -lS
は、2 KB未満のファイルも提供します。
2 KBを超えるファイルの名前とサイズをサイズで並べ替えて表示するにはどうすればよいですか?
試す
find . -size +2k -printf "%p \t%k kb\n" | sort -k2n
Lsコマンドは、標準入力から何かを読み取るのではなく、現在のディレクトリをリストします。
使用する
find . -size +2k -name *.log -printf "%s %p \t%k kb\n" | sort -n | sed -e '/^[0-9]* //'
zsh
の場合:
zmodload zsh/stat
printf '%s\n' **/*.log(DLK+2oLe'[
stat -A blk +block -- $REPLY && REPLY+=" $((blk / 2)) KiB"]')
sizeが2048より大きいログファイルのdisk usageがsizeの順にレポートされます。