Linux实现文件内容去重及求交并差集

 更新时间:2020年08月04日 11:29:49   作者:楔子  
这篇文章主要介绍了Linux实现文件内容去重及求交并差集,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、数据去重

日常工作中,使用Hive或者Impala查询导出来可能会存在数据重复的现象,但又不想重新执行一遍查询(查询时间稍长,导出文件内容多),因此想到了使用Linux命令将文件的内容重复数据进行去除。

案例如下:

可以看到aaa.txx有3条重复数据

想去掉多余的数据,只保留一条

sort aaa.txt | uniq > bbb.txt

将aaa.txt文件中重复数据去掉,输出到bbb.txt

可以看到bbb.txt文件中只保留了一条数据

二、数据交、并、差

1)、交集(相当于user_2019 inner join user_2020 on user_2019.user_no=user_2020.user_no)

sort user_2019.txt user_2020.txt | uniq -d

2)、并集(相当于 user_2019.user_no union user_2020.user_no)

sort user_2019.txt user_2020.txt | uniq

3)、差集

user_2019.txt-user_2020.txt

sort user_2019.txt user_2020.txt user_2020.txt | uniq -u

user_2020.txt - user_2019.txt:

sort user_2020.txt user_2019.txt user_2019.txt | uniq -u

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 在 CentOS 7 中安装 MySQL 8 的教程详解

    在 CentOS 7 中安装 MySQL 8 的教程详解

    这篇文章主要介绍了在 CentOS 7 中安装 MySQL 8 的教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • haproxy软件的日志如何输出到指定文件

    haproxy软件的日志如何输出到指定文件

    本文介绍了如何将haproxy的日志从系统syslog中分离出来,并独立记录到不同的日志文件中,通过修改rsyslog配置文件和haproxy配置文件,可以实现这一目标,并便于后期的日志管理和分析
    2024-12-12
  • Linux中find命令的用法入门

    Linux中find命令的用法入门

    Linux系统下的find 命令用于在目录结构中查找文件,同时还可以对查找结果进行指定的操作。下面这篇文章主要介绍了Linux中find命令的用法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Linux crontab定时任务执行失败处理方案

    Linux crontab定时任务执行失败处理方案

    这篇文章主要介绍了Linux crontab定时任务执行失败处理方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Apache 的 httpd.conf 中文详解

    Apache 的 httpd.conf 中文详解

    Apache 的 httpd.conf 中文详解,需要的朋友可以参考下。
    2009-11-11
  • Linux使用tracepath进行网络诊断分析

    Linux使用tracepath进行网络诊断分析

    tracepath 命令是 Linux 中的一个网络诊断工具,类似于 traceroute,下面小编来为大家介绍一下如何使用tracepath进行网络诊断分析吧
    2025-02-02
  • Centos7硬盘挂载方法

    Centos7硬盘挂载方法

    这篇文章主要介绍了Centos7硬盘挂载方法并把需要注意的地方做了注明,需要的朋友参考下吧。
    2018-02-02
  • CentOS 6.3 安装配置Apache2.2.6的方法(源码编译安装)

    CentOS 6.3 安装配置Apache2.2.6的方法(源码编译安装)

    这篇文章主要介绍了CentOS 6.3 安装配置Apache2.2.6的方法,需要的朋友可以参考下
    2014-11-11
  • inux下gettimeofday函数windows替换方法(详解)

    inux下gettimeofday函数windows替换方法(详解)

    下面小编就为大家带来一篇inux下gettimeofday函数windows替换方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux包管理工具yum、apt的区别

    Linux包管理工具yum、apt的区别

    Linux系统基本分两大类:RedHat系列:Redhat、Centos、Fedora等;Debian系列:Debian、Ubuntu 等。yum是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。apt是一个在 Debian 和Ubuntu中的Shell前端软件包管理器。
    2023-04-04

最新评论