Linux文件比较、提取总结(diff、sort、uniq、comm、grep)

本文详细介绍了使用diff、vimdiff进行文件版本比较的方法,以及利用sort、uniq、comm处理文件集合,实现交集、并集、差集操作的技巧。同时,对比了grep在未排序文件中直接取交集、差集的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. diff系列:diff,vimdiff
    可以用来比较文件的不同版本,不强制要求两个文件是有序文件。以第一个文件为准,逐行比较第二个文件与第一个文件的差异。vimdiff用vim打开两个文件,分两栏可视化显示两个文件异同,效果类似于diff -y
    具体用法参见diff基础diff详解
  2. sort系列:sort,uniq,comm
    相比于diff,更适用于不同文件取交集、并集、差集的情况,使用uniq和comm必须先用sort排序。uniq可以很方便的取交集(-d)、并集(默认),comm可以通过-1、-2、-3的不同组合实现交集并集差集。不同之处在于uniq可以很方便的用在管道中,如sort a b | uniq -d > c,合并a、b后并排序,把重复出现的行输出到c。要用comm实现的话,需要先sort a、sort b,然后comm -12 a b > c
    具体用法
  3. grep直接取交集、差集,因为没有经过排序,所以速度比sort+uniq/comm差一些。-F代表文件名,-f代表文件内容,-v代表反向统计
  • 统计相同行
    grep -Ff file1 file2
  • 统计不同行
    grep -vFf file1 file2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值