0

次のようなファイルパスを含むファイルがあります。

./file1
./dir/file2
./dir3/dir4/fil3
etc

それらすべての合計ファイルサイズを見つけるにはどうすればよいですか? 単一ファイルのファイルサイズを取得するための「du」については知っていますが、ファイルの使用方法がわかりません。

ありがとうございました

4

2 に答える 2

2

du を使用して、複数のファイルの合計サイズを指定できます

 cat file | tr "\n" "\0" | du -ch --files0-from=- | tail -n1

awk を使用してファイル サイズを取得する

 cat file | awk  '{system("ls -l " $0)}' | awk '{ TOTAL += $5} END { print TOTAL}'
于 2013-03-18T17:31:15.197 に答える
0

GNU coreutils du only 提案

編集: 名前付きオプション--files0-fromは GNU 拡張であるため、この提案されたソリューションは、GNU 以外の coreutils du バージョンでは機能しません。あなたはそれを持っていないようなので、awkVivek Goel によって投稿されたバージョンを代わりに試してみてください。

あなたはすでにあなた自身の質問に答えました。使い方duがカギ。あなたが探している「欠けている」オプションは、マニュアルページにあるこのオプションかもしれません。(マンデュ)

--files0-from=F
ファイル F で指定された NUL で終わるファイル名のディスク使用状況を要約します。F が - の場合、標準入力から名前を読み取ります

使用法は次のようになります。

tr "\n" "\0" <file-list | du --files0-from=- 
于 2013-03-18T17:34:40.030 に答える