awkはディレクトリ内の特定のファイルを探します

awkはディレクトリ内の特定のファイルを探します

変数 "files" に渡される file1、file2、file3 ファイルを含む "directory1" というディレクトリがあります。 echo $files の出力は次のとおりです。 file1 file2 file3。サイズの合計が必要ですが、以下のコードは1つのファイルでのみ機能します。すべてのファイルで動作させるにはどうすればよいですか?

ls -l ./$dir/$files | awk '{t+=$5}END{print t}'

ベストアンサー1

ループを使用してファイルサイズをバイト単位で印刷し、stat出力を合計することができますawk

for i in $files; do
  stat -c '%s' "$dir/$i"
done | awk '{t+=$1}END{print t}'

おすすめ記事