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

2021-03-02  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读