使用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)

相关推荐

  • Intellij IDEA智能补全的方法有哪些

    技术Intellij IDEA智能补全的方法有哪些本篇内容介绍了“Intellij IDEA智能补全的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情

    攻略 2021年11月16日
  • 如何转置RDD或MLLib矩阵

    技术如何将RDD或者MLLib矩阵进行转置操作如何将RDD或者MLLib矩阵进行转置操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如何将

    攻略 2021年12月21日
  • API参数规范有哪些

    技术API参数规范有哪些这篇文章主要讲解了“API参数规范有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“API参数规范有哪些”吧!【强制】字段名称用小驼峰风格【强制

    攻略 2021年11月16日
  • mysql企业备份工具mysqlbackup如何安装使用

    技术mysql企业备份工具mysqlbackup如何安装使用这篇文章主要介绍mysql企业备份工具mysqlbackup如何安装使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    攻略 2021年11月3日
  • quartz.net动态创建任务(quartz.net怎样知道执行结果)

    技术Quartz在.NET中怎么使用本篇内容主要讲解“Quartz在.NET中怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Quartz在.NET中怎么使用”吧!一、

    攻略 2021年12月17日
  • OpenFeign服务调用时携带Token

    技术OpenFeign服务调用时携带Token OpenFeign服务调用时携带TokenOpenFeign服务调用时携带Token:场景:众所周知,OpenFigen主要的作用是替我们发送Http请求

    礼包 2021年12月6日