美文网首页
Linux文件对比工具—comm/egrep/diff

Linux文件对比工具—comm/egrep/diff

作者: 沉思的雨季 | 来源:发表于2021-03-02 15:42 被阅读0次

    1、comm

    带参数:
    -1 不显示只在第1个文件里出现过的行。
    -2 不显示只在第2个文件里出现过的行。
    -3 不显示同时在第1和第2个文件里出现过的行。

    comm对比的两个文件,要求先通过sort排序。不加参数时分“三列”显示,第一列是只存在于“第一个”文件中的内容,第二列是只存在于“第二个”文件中的内容,第三列是两个文件相同部分。

    root@master # cat file1
    a
    b
    c
    root@master # cat file2
    a
    c
    d
    root@master # comm -12 file1 file2
    a
    c
    

    2、egrep

    egrep -f file1 file2 相当于 comm -12 file1 file2文件相同部分

    root@master # egrep -f file1 file2
    a
    c
    

    egrep -f file2 -v file1 相当于 comm -23 file1 file2 得到只存在于第一个文件中的部分

    root@master # egrep -f file2 -v file1
    b
    

    egrep -f file1 -v file2 相当于 comm -13 file1 file2 得到只存在于第二个文件中的部分

    root@master # egrep -f file1 -v file2
    d
    

    3、diff

    diff可以比较两个文件,或者文件夹,着重于两个文件的相同部分和不同部分的统计。

    diff -y file1 file2 | egrep -v '<|>||' | awk '{print $1}'得到两个文件相同部分

    root@master # diff -y file1 file2|egrep -v '<|>|\|'|awk '{print $1}'
    a
    c
    

    diff file1 file2 |grep '<'|awk '{print $2}'得到只存于第一个文件

    root@master # diff file1 file2 |grep  '<'|awk '{print $2}'
    b
    

    diff file1 file2 |grep '>'|awk '{print $2}'得到只存于第二个文件

    root@master # diff file1 file2 |grep  '>'|awk '{print $2}'
    d
    

    相关文章

      网友评论

          本文标题:Linux文件对比工具—comm/egrep/diff

          本文链接:https://www.haomeiwen.com/subject/fmtxqltx.html