awk如何合并多个文件的同行数据
1个回答
展开全部
首先需要注意FNR和NR表示行号的区别:FNR是每个文件中的行号,每个文件都从第一行开始,而NR是awk处理的行号,1~N,不会从1开始,例如:
# awk '{print NR,$0}' file1 file2
1 a b c d
2 a b d c
3 a c b d
4 aa bb cc dd
5 aa bb dd cc
6 aa cc bb dd
# awk '{print FNR,$0}' file1 file2
1 a b c d
2 a b d c
3 a c b d
1 aa bb cc dd
2 aa bb dd cc
3 aa cc bb dd
所以,对不同文件同一行,比如第一行进行合并【如果是数字,进行求和】可以用:
awk 'FNR==1{sum=sum+$0}END{print sum}' file1 file2 file3 ……
如果是字符串,可以将字符串连接,例如:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询