人間が読めるファイルサイズを du [duplicate] で表示します。

人間が読めるファイルサイズを du [duplicate] で表示します。

私はこのコマンドを使用して、どのディレクトリが自分のディスクを占有しているかを確認します。

du -sk * | sort -n

du人間が読める形式のファイルサイズの結果を得るにはどうすればよいですか?確認してみると、バイト結果をキロバイトの結果に変換するフラグmanのみがあります。-kGB単位の結果が必要です。

ベストアンサー1

これはうまくいくかもしれません:

du -hs * | sort -h

コピーがdu対応するフラグをサポートしていない場合は、-h数値を変換できます。使用awk

du -ks * | awk '
function human(x) {
    s="kMGTEPYZ";
    while (x>=1000 && length(s)>1)
        {x/=1024; s=substr(s,2)}
    return int(x+0.5) substr(s,1,1)
}
{gsub(/^[0-9]+/, human($1)); print}'

おすすめ記事