10

phpサブディレクトリを含むディレクトリ内のすべてのファイルを一覧表示したいとしましょう。これを bash で実行できます。

ls -l $(find. -name *.php -type f)

これに関する問題は、phpファイルがまったくない場合に実行されるコマンドは、何もないのではls -lなく、すべてのファイルとディレクトリを一覧表示することです。

phpを使用してすべてのファイルの合計サイズを取得しようとしているため、これは問題です

ls -l $(find . -name *.php -type f) | awk '{s+=$5} END {print s}'

*.phpパターンに一致するファイルがない場合は、最終的にすべてのエントリのサイズが返されます。

どうすればこのイベントを防ぐことができますか?

4

3 に答える 3

8

合計サイズを取得するためにls を解析することを避けたい場合は、次のように言えます。

find . -type f -name "*.php" -printf "%s\n" | paste -sd+ | bc
于 2013-09-16T08:38:15.143 に答える
1

を使用した別の方法を次に示しますdu

find . -name "*.php" -type f -print0 | du -c --files0-from=- | awk 'END{print $1}'
于 2013-09-16T09:11:09.930 に答える