awk如何合并多个文件的同行数据

 我来答
cnbubble
2018-05-31 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:769万
展开全部

首先需要注意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 ……

如果是字符串,可以将字符串连接,例如:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式