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

相关推荐

  • 怎么给出一个二叉树python(python如何判断平衡二叉树)

    技术python对称二叉树该如何理解这期内容当中小编将会给大家带来有关python对称二叉树该如何理解,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。题目描述给定一个二叉树,检查它是否是

    攻略 2021年12月13日
  • 相似图像搜索插件imgsmlr性能测试与优化方法是什么

    技术相似图像搜索插件imgsmlr性能测试与优化方法是什么这篇文章主要讲解了“相似图像搜索插件imgsmlr性能测试与优化方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年11月10日
  • 怎么修改MySQL的SQL_MODE

    技术怎么修改MySQL的SQL_MODE这篇文章主要讲解了“怎么修改MySQL的SQL_MODE”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么修改MySQL的SQL_

    攻略 2021年11月5日
  • spark如何分析数据(spark的重要组件以及使用场景)

    技术Spark中的核心概念可视化是怎样的本篇文章为大家展示了Spark中的核心概念可视化是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。对于在分布式系统上背景知识较少的人来

    攻略 2021年12月17日
  • 如何解决win7注册表损坏导致无法引导启动问题

    技术如何解决win7注册表损坏导致无法引导启动问题这篇文章给大家分享的是有关如何解决win7注册表损坏导致无法引导启动问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。系统注册表损坏,用U盘启

    攻略 2021年11月17日
  • 如何理解Mybatis源码

    技术如何理解Mybatis源码本篇内容介绍了“如何理解Mybatis源码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为

    攻略 2021年10月22日