【linux】awk相关

【linux】awk相关

大家好,又见面了,我是你们的朋友全栈君。

按字段相加文本内容

a 3
b 4
c 5
a 8
d 2
c 6

将上面内容中字段相同的数据相加

awk -F ' '  '{sum[$1]+=$2}END{for(i in sum){print i, sum[i]}}'  test.txt

结果:

a 11
b 4
c 11
d 2

按字段拼接两个文本

文本1:

a 3
b 4
c 5

文本2:

a high
c middle
b low

根据第一个字段拼接两个文本

awk '{if(NR==FNR){x[$1]=$2}else{x[$1]=x[$1]" "$2}}END {for(i in x){print i, x[i]}}' test1.txt test2.txt 

结果:

a 3 high
b 4 low
c 5 middle

注:
NR: 表示从所有文件中已读取的行数。
FNR:表示当前文件中已读取的行数。
举个栗子:
有两个文件,第一个文件有10行,第二个文件有15行。在读第一个文件的第5行时,NR=5,FNR=5。在读第二个文件的第8行的时候,NR=18,FNR=8。
所以NR==FNR表示在读取第一个文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107426.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Hibernate5.0配置C3P0连接池步骤详解

    Hibernate5.0配置C3P0连接池步骤详解Hibernate5.0拥有自己的数据库连接池,但是无论性能和功能都不如C3P0(本人新手,查取资料得知),由于之前苦搜资源都不得愿,所以写下此篇文章以供像我一样苦于搜索的新手,以供参考。   Hibernate5.0整合C3P0实现连接池的步骤如下:   首先第一步   1).到https://sourceforge.net/projects/hibernate/到该网站

    2022年5月7日
  • zencart 模板文件说明

    zencart 模板文件说明如果要修改zencart模板页面背景就在includes/templates/your_template/css文件夹里的:css/stylesheet.css主样式表,修改页面背景,字体大小颜色都找它common里的:common/html_header.php页面的head部分,一般不需要修改,注意它与下面文件的区别。common/tpl_header.php网店页面…

    2022年7月27日
  • managementobjectsearch_beanpropertyrowmapper

    managementobjectsearch_beanpropertyrowmapperclassWin32_Service:Win32_BaseService{ booleanAcceptPause; booleanAcceptStop; stringCaption; uint32CheckPoint; stringCreationClassName; stringDescription; booleanDesktopInteract; st

    2022年10月2日
  • jmeter不满足条件时,跳出循环。while controller

    jmeter不满足条件时,跳出循环。while controller

    2021年9月18日
  • 在线用户数与并发用户数的区别和比例关系[通俗易懂]

    在线用户数与并发用户数的区别和比例关系[通俗易懂]在线用户数与并发用户数的区别和比例关系在线用户数:用户同时在一定时间段的在线数量并发用户数:某一时刻同时向服务器发送请求的用户数一般而言,我们习惯以5-20的比率来推算并发用户与在线用户之间的关系。即,并发与在线的比例约为5%-20%比如,某网站存在注册用户数为10W人,但同时在线最多1W人,但这1W个人,可能只有500人会浏览帖子,500人会进行发帖,只有这1000个人对服务

    2022年5月14日
  • 解决kali-linux更新源无法使用的问题(签名失效)

    解决kali-linux更新源无法使用的问题(签名失效)本来说是这个寒假好好学习一下渗透测试的,可随着了解的深入,发现渗透测试需要的知识储备太多了,因此好长时间都没有真正的去学习渗透工具的使用,今天上午装了一个kali,装上之后第一件事就是执行apt-getupdate&&apt-getupgrade,结果却出现了这样的错误我添加的是中科大的更新源,在浏览器中是可以正常打开的:debhttp://mirrors.ustc.ed

    2022年5月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号