ファイルサイズ検索/表示

ファイルサイズ検索/表示

ディレクトリを調べてazで始まる各ファイルについて、そのファイルの合計サイズを印刷する簡単な方法はありますか?

例えば

for i in {97..122}; du (something); done

出力されます >>

a-123kb

b-22kb

...

z-1245kb

ベストアンサー1

これはワイルドカードを使用して達成できます。

$ du [a-z]*
456 asdf.png
12  awk.trace
28  blink_image_resources_200_percent.pak
0   Books

globに展開されたアイテムがディレクトリの場合、そのディレクトリduの内容は巡回されるため、別のアイテムのリストではなく、ディレクトリの合計サイズにのみ興味がある場合はこれを行うことができますdu -s [a-z]*。たとえばk、人が読めるサフィックスが必要な場合は、オプションをM使用します-h

もちろん、シェルはシェルオプションとファイル名のマッチングのための再帰パトロールを通じて、より細かいパターンマッチングを好んでbashいます。再帰的で細かいファイル名の一致にコマンドを使用することも、ディレクトリを除外するためにも使用できます。kshbashextglobglobstarfind

find . -maxdepth 1 -mindepth 1 -type f -exec du -s {} \;

中括弧拡張は、パス名拡張、つまりすでにディレクトリにあるエントリ、現在の作業ディレクトリに存在する可能性がある、または存在しない可能性があるトークンリストへの拡張を実行しないことにも注意する{0..9}価値があります。*{0..9}

おすすめ記事