ファイルのセットがあり、それぞれに単一の(整数)番号が含まれています。これは、同じ名前のディレクトリ内のファイルの数です(.txtサフィックスなし)-wc
各ディレクトリでの結果です。
ファイル内の数値を合計したいと思います。私はもう試した:
i=0;
find -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read j; do i=$i+`cat $j.txt`; done
echo $i
しかし、答えは 0echo
ですcat
。
i=0; find -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read j; do echo `cat $j.txt`; done
値は次のとおりです。
1313
1528
13465
22258
7262
6162
...
おそらく、cat
どういうわけかの出力をキャストする必要がありますか?
[編集]
私は最終的に自分の解決策を見つけました:
i=0;
for j in `find -mindepth 1 -maxdepth 1 -type d -printf '%f\n'`; do
expr $((i+=$(cat $j.txt)));
done;
28000
30250
...
...
647185
649607
しかし、受け入れられた答えは、途中で出力されないため、よりきれいです