使用awk比较两个文件的内容

技术使用awk比较两个文件的内容 使用awk比较两个文件的内容干货记录
[Linux] 使用awk比较两个文件的内容
当需要比较A , B两个文件 , A文件中存在 , 并且把也在B文件中存在的行去除掉

使用awk比较两个文件的内容

干货记录

[Linux] 使用awk比较两个文件的内容

当需要比较文件A中存在的文件A和文件B,并删除文件B中也存在的行时,可以使用这个awk用法。

awk“{ if(ARGIND==1){ val[$0]} else { if(val中的$ 0)删除val[$ 0]} } END { for(I in val)print I } ' A B

使用awk同时处理多个文件,配合数组变量进行处理。

首先扫描文件A,将文件A中的每一行作为数组的键放入数组中

然后扫描文件B,确定B中的每一行是否存在于数组中,如果存在,就删除这个数组元素。

最后,在数组中统一打印密钥。

文件准备

创建两个文件,a.txt和b.txt,包含以下内容:

a.txt

b.txt

1-wfhune 2-chdamsbchj 3-uyr92 fiubkqw 5-cgvdnsb

2-djyv4-dvcahsgdb5-wvchdfyt

普通用法,整行对比

命令

diff a.txt b.txt

grep -f a.txt b.txt

grep -vf a.txt b.txt

解释

比较两个文件

从两个文件中获取行。

取文件B中但不在文件a中的行

结果

1,4c1,3 1-wfhune 2-chdamsbchj 3-uyr92 fiubkqw 5-cgvdnsb-2-djyv 4-dvcahsgdb

空的

2-djyv4-dvcahsgdb5-wvchdfyt

高级用法,每行关键部分对比

回头看这两个文件的内容,格式是x-yyyy。我们认为X是关键,yyyy是价值。现在我们只想比较X,而不是yyyy。

我该怎么办?

命令

grep-VF(cut-d-f1 a . txt)(卡特彼勒b.txt)

grep-VF(awk-F '-' ' { print $ 1 } ' a . txt)(cat b . txt)

解释

()用于命令嵌套。Cut -d -f1a.txt,其中参数-d用于定义分隔符,参数-f用于定义分段后要提取的文本段落数。例如,在这里将分隔符定义为“-”,并提取分段后的第一段文本。

用awk命令代替cut命令就可以了,效果一样。Awk的-F参数用于定义分隔符,printf $X提取X段的分段文本。

结果

4-dvcahsgdb

4-dvcahsgdb

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107442.html

(0)

相关推荐

  • 考研复试什么时候,研究生面试时间多长

    技术考研复试什么时候,研究生面试时间多长我是研路有我,我来回答你的问题考研复试什么时候。研究生面试一般在15分钟左右!我作为一名曾经的考研生,也是经历了面试。我当时面试的时候,大概看了一下时间,每位同学的面试时间平均在1

    生活 2021年10月25日
  • JDK7与JDK8中HashMap的实现是怎样的

    技术JDK7与JDK8中HashMap的实现是怎样的本篇文章为大家展示了JDK7与JDK8中HashMap的实现是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JDK7中的

    攻略 2021年11月16日
  • 怎样可以,和平精英怎么才能变厉害

    技术怎样可以,和平精英怎么才能变厉害大家好怎样可以!这里是爱分享的零助攻!很高兴回答您的问题!和平精英怎么样变厉害?可以说需要具备的条件太多了。第一:能力问题能力又分先天和后天,有的人天生就是玩游戏的好手,接受能力和适应

    生活 2021年10月21日
  • JavaWeb中域对象'是什么意思

    技术JavaWeb中域对象是什么意思小编给大家分享一下JavaWeb中域对象是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!域对象的概念: 以服务器的内置对象,用来在不同作用域中进行数据共享,

    攻略 2021年11月17日
  • 使用云视频服务器中需要注意的功能云服务器香港

    技术使用云视频服务器中需要注意的功能云服务器香港在为视频网站选择最佳云服务器时,从来没有一刀切。就视频业务而言,每个流媒体业务都有一组独特的要求。那么,企业流媒体视频业务的最高要求是什么?好吧,这里有一些可以派上用场的功

    礼包 2021年12月21日
  • 怎样看出仓鼠喜欢主人,仓鼠信任主人的表现有哪些

    技术怎样看出仓鼠喜欢主人,仓鼠信任主人的表现有哪些1怎样看出仓鼠喜欢主人、主人开笼子的时候,仓鼠只是抬头看看不会躲藏。 2、打开笼子手伸过去也没有躲闪。
    3、用手抓仓鼠,它没有明显的反抗,甚至很舒适的躺在手里。
    4、在

    生活 2021年10月30日