【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 语言模型

    语言模型

    2021年11月20日
    60
  • zigbee协议栈初使用(二)按键控制「建议收藏」

    zigbee协议栈初使用(二)按键控制「建议收藏」zigbee协议栈初使用(二)按键控制1、在hal_key.c中修改按键端口2、修改hal_board_cfg.h3、修改OnBoard.c,文件在ZMain.c目录下4、回到SampleApp.c,找到按键事件处理函数5、进入SampleApp_HandleKey()函数,此处是按键处理,按下按键需要做的事件放在这添加如下代码:此处…

    2022年5月8日
    65
  • 最详细的maven配置——报错了你打我[通俗易懂]

    最详细的maven配置——报错了你打我[通俗易懂]目录1、前言2、下载3、配置PATH、settings.xml以及本地仓库3.1、配置path3.2、配置settings.xml和本地仓库4、在IDEA中配置Maven1、前言maven说的简短一点就是一个大型的jar包管理工具,类似于工具人。只要有了maven,就不用去幸幸苦苦的找jar包了。wc,爽哉。好了,还是不多bb,我么还是直接干正事。(切记切记:安装maven必须装好jdk)2、下载首先我们还是去官网。瞅瞅最新版的是哪个版本。点我直达当然,玩Windows的人都知道,我们下

    2022年5月28日
    51
  • 十八、职责链模式-推卸责任,不关我的事,我不管!#和设计模式一起旅行#

    不在其位,不谋其政! –出自《论语·泰伯》故事背景在现实世界中,有很多情况下会遇到一些推卸责任的场景,比如要办理一件事的时候,被告诉你要去做个做这个事情,但是去了这个地方,确告诉要到另一个地方去,最后搞了很久,才办完这一件事。这种情况下,就可以简单的称为踢皮球,也就是推卸责任。在软件中,当外部请求程序进行某个出来,这个程序无法处理就把该请求转给其他对象负责,当对个对象组…

    2022年2月27日
    36
  • VB学习总结「建议收藏」

    VB学习总结「建议收藏」无论是生活还是学习,都要不断的总结和思考。学习中,不可以偷懒,你对它偷懒,它就会对你更加偷懒;同样,没有规律和反思的生活是平淡如水,没有进步的,今天的我们应该能和昨天面对面,每天进步一点点。   这次的总结是对全部模块的总结,记录此刻的学习轨迹,以供以后反思学习,同时分享给大家,欢迎大家批评建议。      1.总结大纲——时间管理,计划同步    2.

    2022年6月21日
    20
  • Python和Java到底有什么区别?这12点告诉你答案「建议收藏」

    Python和Java到底有什么区别?这12点告诉你答案「建议收藏」转载自品略图书馆http://www.pinlue.com/article/2020/03/1604/0310028186938.html初学编程的小伙伴在问:“Python和Java到底有什么区别?到底是学Python还是Java。“一副惆怅的样子,难以下手。今天,给大家总结了关于两者的十二点区别。一、实话实话,Python虚拟机没有java强,java虚拟机是java的核心…

    2022年7月8日
    27

发表回复

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

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