本文にawkコマンドを含むForループは機能しません。

本文にawkコマンドを含むForループは機能しません。

次のコマンドを実行しようとしています。

for i in test1.txt do awk '$1==$i {sum +=$4}END {print sum}' test2.txt

そのうち test1.txt は次のようになります。

A
B
C
D
E

しかし、これはうまくいきません。私が達成したいことはテスト1.txtファイル、すべての行を検索test2.txt最初の列に同じ文字がある行、この行の場合は4番目の列のすべての値を追加します

ベストアンサー1

ここではawk単独で使用できます。

awk 'NR==FNR{a[$1]++; next} ($1 in a) {sum+=$4} END{print sum}' file1.txt file2.txt

おすすめ記事