linux 下文件的比较
1、cmp命令,比较两个文件是否相同
比较文件test1和test2,如果这两个文件完全相同,则无任何输出,否则,输出第一处不同所在的字节以及行号,然后忽略后面的不同之处,退出命令的执行。
[root@rusky ~]# cat test1 this is a test for comparing files testA testB testC TESTD TEST5 [root@rusky ~]# cat test2 this is a test for comparing files testA testB test3 test4 [root@rusky ~]# cmp test1 test2 test1 test2 differ: byte 52, line 4
2、comm 命令,找出两个文件的共同之处
选项:-1不输出第一个文件独有的内容 -2不输出第二个文件独有的内容 -3不输出两个文件独有的内容
[root@rusky ~]# cat test1 this is a test for comparing files testA testB testC TESTD TEST5 You have new mail in /var/spool/mail/root [root@rusky ~]# cat test2 this is a test for comparing files testA testB test3 test4 [root@rusky ~]# comm test1 test2 this is a test for comparing files testA testB test3 test4 testC TESTD TEST5
默认情况下,共显示三列,第1、2列分别表示两个文件各自独有的内容,第3列表示共有的内容。如下例只显示两个文件的共同这处。
[root@rusky ~]# comm -12 test1 test2
this is a test for comparing files
testA
testB
3、diff和diff3 显示文件的差异
选项:-i:忽略字母大小写 -w:忽略空格以及制表符 -e:只生成一组指令,以提供给其它程序使用。diff命令除了比较两个文件的差异之处,还会给出一些提示,告诉我们如何修改第一个文件,使得两个文件完全相同。
[root@rusky ~]# diff test1 test2 4c4,6 < testC TESTD TEST5 --- #上部分内容表示将第一个文件第4行的内容修改为第2个文件第4~6行内容;下部分表示用第2个文件的这些内容替换第1个文件的第4行内容。 > test3 > test4 > [root@rusky ~]# diff -i test1 test2 4c4,6 < testC TESTD TEST5 --- > test3 > test4 >
[root@rusky ~]# diff -e test1 test2
4c
test3
test4
.
diff3命令用来比较三个文件的差异,与diff命令基本相同
*******VICTORY LOVES PREPARATION*******