博客
关于我
[Linux] 使用awk比较两个文件的内容
阅读量:656 次
发布时间:2019-03-15

本文共 532 字,大约阅读时间需要 1 分钟。

当需要比较A、B两个文件时,其中A文件中的存在内容,同时将B文件中也存在的行去除,使用AWK脚本的方法可以实现。

AWK脚本伪代码为:

awk '{if(ARGIND==1) {val[$0]} else {if($0 in val) delete val[$0]}} END {for(i in val) print i}' A B

此方法利用AWK的数组功能,通过同时处理多文件的功能来实现数据清洗的逻辑。具体流程如下:

A    sounds(Filter案例:比较两个文件,清洗重复数据)>

A与B文件比较,获取A文件中有但B文件没有的数据,这个AWK脚本可以很好地完成。

AWK脚本主要逻辑:

1. 第一个文件(A)被作为数组初始化,数组键为行内容。

2. 第二个文件(B)被逐行扫描,检查是否存在于A文件中数组的键中,不存在则保留,存在则删除。

3. 最后打印数组中所有键的值,即为最终结果。

AWK脚本执行时,首先会读取文件A的内容,将其作为数组存储。然后读取文件B,逐行检查,如果找到数组中已有的记录,则将其从数组中删除。如果所有文件处理完毕,则将数组中的所有键依次输出。

这种处理方式效率较高,特别是处理大量数据时,能够快速清理重复或冗余的记录。

转载地址:http://xuimz.baihongyu.com/

你可能感兴趣的文章
NIFI大数据进阶_离线同步MySql数据到HDFS_说明操作步骤---大数据之Nifi工作笔记0028
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO_通道之间传输数据
查看>>
NIO三大组件基础知识
查看>>
NIO与零拷贝和AIO
查看>>
NIO同步网络编程
查看>>
NIO基于UDP协议的网络编程
查看>>
NIO笔记---上
查看>>