du -sh * 、使用回数が 0 のディレクトリを隠します。

du -sh * 、使用回数が 0 のディレクトリを隠します。

これが私の現在の出力です。

475M    directorya
0       directoryb
0       directoryc
520M    directoryd
42G     somefolder

これが私がやろうとしていることです。

  1. 0回使用されたディレクトリを隠す方法は?デフォルトでは、0より大きいディレクトリのみが表示されます。
  2. 昇順/降順で並べ替えるには?

答え1

du -sh /directory/* | awk '$1 != "0" {print $0}' | sort -h

の出力には、du -sh /directory/*最初の列に含まれているディレクトリのサイズが表示され、2番目の列にはディレクトリ自体が表示されます。

上記のコマンドは、du -shディレクトリで実行され、最初の列awk(サイズ)がゼロ以外の行のみを印刷してから、人間が読める順序で出力をソートするように指示します。

答え2

grep を使用すると、次のような結果が得られます。

du -sh * | grep -v '^0' | sort -h

-v 一致を逆に置き換え、'^0' はゼロで始まる行を探します。

関連情報