我有许多具有此结构的文件,其中包含两列数字。我想为我的所有文件添加第二列的每个行值,所以我最终只会得到一个文件。有人可以帮忙吗?希望这个问题很清楚。感谢。
答案 0 :(得分:0)
假设你想要的是每个文件第二列的所有值的总和,对于awk来说它看起来就像一个简单的工作:
cat files | awk '{ sum += $2 } END { print sum }'
答案 1 :(得分:0)
以下是基于上述评论中提供的信息OP:
基本思路是从一个空摘要(文件tot
),paste
一个接一个地开始每个文件tot
和第2和第4列(如果存在)到新tot
文件的第二列。
换句话说......
$ touch tot ; for f in * ; do paste tot ${f} | awk '{ if ( NF > 3 ) { print $1, $2+$4 } else { print $1, $2 } }' > tmp ; mv tmp tot ; done
我用8个不同的文件测试了它,似乎按预期工作。
当然,必须更改for f in *
才能捕获所有和我们想要求和的文件。