いくつかの合計を計算するためにawkを使用していて、それらをファイルに保存したいと思います。
これが私の入力ファイルです:
misses 15
hit 18
misses 20
hit 31
そして、ミスの合計とヒットの合計をファイルに出力したいと思います。
これを実行すると:
awk 'BEGIN { hits=0; misses=0; } /^hit/{ hits+=$2}; /^misses/{misses+=$2}; END {print "Hits: " hits "\nMisses: " misses }' t.txt
ターミナルで見かけます。
今、私はファイルに書きたいです:
私はこれを試しました:
#!/bin/bash
awk 'BEGIN { hits=0; misses=0; } /^hit/{ hits+=$2}; /^misses/{misses+=$2}; END {print "Hits: " hits "\nMisses: " misses }' t.txt
echo misses $misses > $1; #first one overwrites the previous $1 is the argument given in the command line
echo hits $hits>> $1; # all the othes append to the .txt file
しかし、$misses, and $hits
価値はありません。
私もこれを試しました:
#!/bin/bash
result= $(echo $output | awk 'BEGIN { hits=0; misses=0; } /^hit/{ hits+=$2}; /^misses/{misses+=$2}; END {print "Hits: " hits "\nMisses: " misses }' t.txt )
# $NF if I want the last column
echo $result
$ resultが何を返すかを確認するために、Webで見たものですが、次のエラーが発生します。
./test2.sh: line 2: Hits:: command not found