[Server] フォルダ一覧の内包されているファイル数を表示する方法

2015年8月5日

サーバー テクノロジー

サーバー操作をしている時に、sFTPやsamba経由などの、GUI操作している時であれば問題ないのですが、コマンドラインで操作している時は、思った通りの表示ができなくて苦労することが多いと思います。

フォルダ一覧の容量を表示する

例えば、フォルダ一覧の表示をしている時に、各フォルダの容量をその場で表示してみたくなることがある。 コマンドラインでlsすると こうなるが、下記コマンドをたたくだけで、容量が一覧表示で見ることができる。 $ du --max-depth=1 -ha macの場合は $ du -d 1 -h 0B ./.copy.cache 5.5M ./Books 148K ./Buissiness 40M ./camera 3.4M ./Develop 228K ./info 1.3G ./Picture 1.3G ./Private 1.7M ./SlideShare 9.8M ./wordpress 5.6M ./xcode 2.7G . なかなか便利ですね。

フォルダ内のファイル数を表示

$ for file in *; { echo "${file}:";ls "$file"|wc -l; } Books: 2 Buissiness: 2 Develop: 5 Picture: 13 Private: 6 SlideShare: 1 camera: 2 info: 1 wordpress: 2 xcode: 1 shellを使うことで、フォルダの内包する一覧を取得する事が可能になる。 ただし、このファイル数は、1階層分しか表示されていない。 これで良い場合もあるが、内包する全てのファイル数を取得したい場合は、lsコマンドに-Rオプションを付けることで可能になる。 $ for file in *; { echo "${file}:";ls -R "$file"|wc -l; } Books: 2 Buissiness: 5 Develop: 527 Picture: 23137 Private: 840 SlideShare: 4 camera: 28 info: 1 wordpress: 680 xcode: 5

表示フォーマットを調整

あと一つだけ気になるのは、フォルダ名称とファイル数の行がずれているので、これを整えてみたい。 $ for file in *; { ls -R ${file}|wc -l|awk '{print "'${file}':"$0}'; } Books: 2 Buissiness: 5 Develop: 527 Picture: 23137 Private: 840 SlideShare: 4 camera: 28 info: 1 wordpress: 680 xcode: 5 インデントはガタガタですが、なんとかできました。まあまあ使えると思いますんでスニペットとして使ってみてください。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。