web-dev-qa-db-ja.com

ファイルサイズで検索して並べ替え

2 KBより大きいファイルを検索し、サイズで並べ替える次のコマンドがあります。

find . -size +2k -name *.log -printf "%p \t%k kb\n" | ls -lS

しかし ls -lSは、2 KB未満のファイルも提供します。

2 KBを超えるファイルの名前とサイズをサイズで並べ替えて表示するにはどうすればよいですか?

2
Curious

試す

 find . -size +2k  -printf "%p \t%k kb\n" | sort -k2n
3
RudiC

Lsコマンドは、標準入力から何かを読み取るのではなく、現在のディレクトリをリストします。

使用する

find . -size +2k -name *.log -printf "%s %p \t%k kb\n" | sort -n | sed -e '/^[0-9]* //'
1
RalfFriedl

zshの場合:

zmodload zsh/stat
printf '%s\n' **/*.log(DLK+2oLe'[
  stat -A blk +block -- $REPLY && REPLY+=" $((blk / 2)) KiB"]')

sizeが2048より大きいログファイルのdisk usagesizeの順にレポートされます。

1