a.txt内容如下:
a 150
b 200
c 100
b.txt内容如下:
abcd a 12.5
bbbb b 35
cccc c 42
dddd d 21
想要通过a.txt、b.txt得到ba.txt
abcd a 12.5 150
bbbb b 35 200
cccc c 42 100
dddd d 21
用awk简单搞定awk 'NR==FNR{map[$1]=$2;next}{print $0,map[$2]}' a.txt b.txt > ba.txt
解释:
NR:读入的记录总数;FNR:当前文件的读入记录数(行数)
读a.txt时,NR=FNR,都是3行,此时将a的第二个域得内容赋值到map中,其中key为第一个域的值,因为b的第二个域跟a的第一个域是一样的值,赋值完后,直接next不进行后面的{}里面的输出。
当a读取完后,读取b时,NR==FNR不成立,所以执行第二个{}里的打印,因此得出结果。
shell功能就是强大啊~~~
分享到:
相关推荐
awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理
awk是unix,linux中处理文本的好工具,本文用一个实例说明awk脚本的编写及使用.
主要讲解了关于shell中用awk数组处理文件的用法
用awk处理两个文件的方法:特定域的合并、替换等
(awk 指令并不多, 且其中之大部分与 C语言中之用法一致, 本手册中对该类指令之语法及特性 不再加以繁冗的说明, 读者若欲深究,可自行翻阅相关的 C 语言书籍) 2. awk概述 为什么使用awk awk 是一种程序语言. 它具有...
1. awk非常适合于结构化的文本文件(行、列数据)复杂处理。相对于sed而言,它可进行复杂的编程处理,并且可以产生复杂的报表输出。 2. awk通常有三个版本,旧awk、nawk(新)、gawk。Solaris下建议用nawk,因为旧...
我们必须的工具有两个一个是shell一个是awk,awk对于处理文本文件是最最适合的掌握了awk我们就可以很方便的处理文本文件再借助一些shell命令我们可以很方便得到自己想要的结果。现在从简单的例子来总结一下我觉得会...
awk的处理文本和数据的方式是这 样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出 (屏幕),如果没有指定模式...
awk是一种编程语言,它可以使你很容易地处理结构化数据和生成格式化报告。第二版介绍了awk的POSIX标准,同时介绍了一些可免费使用的以及商业版的awk。 本书在一开始就给出了一个概述和指南,论述了从grep到sed再到...
简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。 awk其名称得...
Linux网络操作系统基础:文件处理cut和awk命令.pptx
你还能了解到: 通用的程序结构 如何使用awk的内部函数 如何编写用户定义函数 awk程序的调试技术 如何开发一个处理索引的应用程序,该程序演示了awk的强大功能得到不同awk版本的ftp和联系信息 。 本书还包含了一组...
25 RESOFT 国库信息处理系统(TIPS)EasyMining使用说明书 3 2.6.3 域分隔符....................................................................................................................... 25 ...
shell awk 实用程序 介绍awk的使用用例 对于处理文件内容比较方便 供学习参考使用
AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据...它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。
awk是文本处理利器,可以轻松处理N个文件的全集、交集、补集、并集等等复杂的操作,实属文本处理大师必备之超级武器。
AWK 在很多方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法。它的设计思想来源于 SNOBOL4 、sed 、Marc Rochkind设计的有效性语言、语言工具 yacc 和 lex ,当然还从 C 语言中获取了一些优秀的思想。...
Awk是为高级文本处理而设计的非常强大的工具。它逐行搜索扫描文件,将输入的每行分割成字段,将输入行或字段与模式进行比较,并对匹配的结果执行操作。
awk编程语言入门--awk是linux下的一个命令,他对其他命令的输出,对文件的处理都十分强大,其实他更像一门编程语言,他可以自定义变量,有条件语句,有循环,有数组,有正则,有函数等。
特征没有外部依赖性的单个文件可以在一次调用中解析多个输入文件(每个文件一个JSON文本) (awk)挂接到解析器并输出事件实用回调(可选) 捕获无效的JSON输入以进行进一步处理选择MIT或Apache 2许可证兼容JSON.sh...