关于Linux awk awk 'NR==FNR{a[FNR]=$1;b[FNR]=$2}NR>FNR{$1=a[FNR];$2=b[FNR];print}'

awk'NR==FNR{a[FNR]=$1;b[FNR]=$2}NR>FNR{$1=a[FNR];$2=b[FNR];print}'... awk 'NR==FNR{a[FNR]=$1;b[FNR]=$2}NR>FNR{$1=a[FNR];$2=b[FNR];print}' 展开
 我来答
cnbubble
2017-05-20 · TA获得超过2606个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:747万
展开全部

awk中NR和FNR都是行号,二者主要是在输入文件多个时存在区别,NR从1开始一直增加,而FNR在读取第二个文件时会重新从1开始

参考:http://www.linuxidc.com/Linux/2012-05/61174.htm

awk 'NR==FNR   '根据二者区别:二者相等时表示正在处理第一个文件的内容

{a[FNR]=$1;b[FNR]=$2}   '将第一个文件每一行的第一、第二个字段存入数组

NR>FNR       '表示除了第一个文件以外的其他文件:第二个、第三个(如果有)

{$1=a[FNR];$2=b[FNR];print}'       '将后面文件的第一、第二个字段改成和第一个文件对应行第一、第二字段一样的内容【实际文件中的内容没有更改】。打印出来【打印时能看出更改后的内容】

后面应该还有输入文件名称,至少两个输入文件。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式