我正在尝试附加,我的文件标记的求和结果,求和后。
我的文件位于 / home / evaluation 中,并且包含以下内容:
我想要这样的东西:
生物学15
总数:45
**到目前为止,我去了:
for file in /home/evaluation/* ; do
awk '{sum+=$2} END {print "total:" sum}' "$file"
done
不幸的是,它仅显示求和值,而不附加它。
答案 0 :(得分:2)
您是否无法像这样执行awk
命令,而只是执行>>
附加操作?
awk '{sum+=$2} END {print "total:" sum}' "$file" >> $file
您可以使其更加优雅-例如添加if条件,仅在行total:
不存在时才添加。
答案 1 :(得分:1)
使用GNU awk:
$ awk '{t+=$2}ENDFILE{print "Total",t >> FILENAME}' file
$ cat file
English 16
History 14
Biology 15
Total 45
strace
之后,我认为如果将close(FILENAME)
用于多个文件,应该在ENDFILE
的末尾添加一个{{1}}。