以下に約50のユーザーフォルダがあります。ちょっと/メイン/フォルダ。これで、10個の大容量ユーザーフォルダの詳細を取得したいと思います。
注:ユーザーごとのサブフォルダは必要ありません。 Kshスクリプトを使用しています。
例:
/etc/main$ ls -lrt
user1 user2 user3 user4 user5 ......... user50
予想される結果:
9876800 user20
9666666 user49
8769999 user15
....
答え1
使用du
とsort
:
du -sk /etc/main/* |sort -nr
これらのパラメータは、使用量をキロバイト単位で報告し、ファイルごとに報告するのではなく、ディレクトリ内のすべてのコンテンツサイズを合計するように指示します-sk
。du
-nr
sort
最大のディレクトリを最初に取得できるように、引数を数値と逆の順序で並べ替えるように指示します。
答え2
次のコマンドを使用できます。
ls /etc/main |xargs du -sk $1 |sort -rn| head -10