如果我有多个这样的文件:
filename1.txt
但它只能处理两个文件,似乎忽略了其余的文件。
filename1.txt
# 0.2
1.0 0.0
1.5 1.0
2.0 0.8
2.5 1.1
filename2.txt
# 0.5
1.0 0.1
1.5 0.6
2.0 1.3
2.5 0.4
当所有第一列都相同时,我只想要如下输出:
# 0.7
1.0 0.1
1.5 1.6
2.0 2.1
2.5 1.5
我知道
paste filename1.txt filename2.txt | awk '{print $1, $2+$4}'
虽然这种方法可以实现,但当有超过20个文件时就不可行了。我也尝试过使用其他方法。
awk 'NR==FNR{a[NR]=$2;next}{print $1,$2+a[FNR]}' filename1.txt filename2.txt
但它只能处理两个文件,似乎忽略了其余的文件。
awk 'FILENAME ~ /filename9|filename10/ {next} {a[FNR]=$1; s[FNR]+=$2} END{for (i=1; i<=FNR; i++) print a[i], s[i]}' filename*
- anubhava