
比较两个文件内容的不同,主要有comm和diff两个命令。
在comm比较之前需要对两个文件进行sort,可以输出在仅第一个文件里出现的、仅在第二个文件里出现的和两个文件共有的内容。
comm -1 file1.txt file2.txt # 不显示第一个文件特有的内容,显示第二个文件特有的内容和共有的内容
comm -2 file1.txt file2.txt # 不显示第二个文件特有内容
comm -3 file1.txt file2.txt # 不显示共有
comm -12 file1.txt file2.txt # 第一个和第二个共有
comm -23 file1.txt file2.txt # 第一个特有
comm -13 file1.txt file2.txt # 第二个特有也可以专门比较某两列或某几列:
comm -12 <(sort file1.txt | cut -f1) <(sort file1.txt | cut -f2.txt) # 这个只能在前台运行diff file1.txt file2.txt输出: 3d2 < three 即第一个文件的第三行three需要被删除。
文件夹内容比较:
diff -ruNa dir1/ dir2/