zoukankan      html  css  js  c++  java
  • Linux 下比较文件内容并相同部分、不同部分

    说明,是通过file2内容与file1做比较,最后列出file1与file2不同的部分!

    一、准备两个文件:

    [root@kinggoo.com test1]# cat file1
    a
    b
    c
    d
    e
    
    [root@kinggoo.com test1]# cat file2
    c
    e

    二、比较方法:

    方法一:grep 命令

    [root@kinggoo.com test1]# grep -v -f file2 file1
    a
    b
    d

    方法二:comm 命令

    [root@kinggoo.com test1]# comm -23 file1 file2
    a
    b
    d

    命令解释:

    comm

    功能说明:比较两个已排过序的文件。
    语 法:comm [-123][–help][–version][第1个文件][第2个文件]
    补充说明:
    这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,

    如果没有指定任何参数,则会把结果分成3行显示:
    第1行仅是在第1个文件中出现过的列,
    第2行是仅在第2个文件中出现过的列,
    第3行则是在第1与第2个文件里都出现过的列。
    若给予的文件名称为"-",则comm指令会从标准输入设备读取数据。

    方法三:awk命令

    打印出file1、file2文件,第一列为行数、第二列为两文件内容 |然后按第二列排序|删除重复行(sort -u也可以,但它会保留一个重复项)|在按第一列行数排序|打印出第二列
    [root@kinggoo.com test1]# awk '{print NR,$0}' file1 file2 |sort -k2|uniq -u -f 1|sort -k1|awk '{print $2}'

    或者:

    这个跟上面一样,短的原因就是因为它不需要考虑上面的第一列,因为它一直没打印过。

    [root@kinggoo.com test1]# awk '{print $0}' file1 file2 |sort|uniq -u

    摘自:http://kinggoo.com/diffcommgrepawksortuniq.htm?utm_source=tuicool&utm_medium=referral

  • 相关阅读:
    docker基础
    paas平台
    django 多数据分库
    s3对象存储
    css
    __construct()和__initialize()
    js function
    phpstorm ftp 使用
    php
    thinkphp 笔记
  • 原文地址:https://www.cnblogs.com/pzzning/p/6218509.html
Copyright © 2011-2022 走看看