awk를 사용하여 일부 합계를 계산하고이를 파일에 저장하려고합니다.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
은 $ 결과가 나에게 반환을 확인하려면 다음을하지만 난이 오류 얻을 :
./test2.sh: line 2: Hits:: command not found