linux比較文件不同的方法:1、使用comm指令,可比較已經排序的文件,語法「comm [選項] 檔案名稱1 檔案名稱2」;2、使用diff指令,會以逐行的方式比較文字檔的異同處,語法「diff [選項] 檔名1 檔名2」。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
linux 比較檔案不同
Linux檔案比較指令用來比較兩個檔案內容的差異。主要有comm
指令和diff
指令。如果想對兩個有序的檔案進行比較,可以使用comm指令。如果要逐行比較兩個文字文件,列出其差異可以使用diff指令。
使用comm指令比較:
比較已經排序的檔案
comm [选项] 文件名1 文件名2
comm將逐行比較已經排序的兩個檔案。顯示結果包括3列:
第1列為只在file1中找到的行;第2列為只在file2中找到的行;第3列為兩個檔案的公用行。
參數
參數file1和file2為comm要比較的檔案的路徑名。以連字號(-)取代file1或file2時,comm將從標準輸入讀取輸入資訊
選項
-1 不顯示第1列(即不顯示只在file1中找到的行)
-2 不顯示第2列(即不顯示只在file2中找到的行)
-3 不顯示第3列(即不顯示在兩個檔案中都找到的行)
注意
如果檔案沒有排序,comm就不能正常的工作
第2列的沒一行前面有一個製表符,第3列中的每一行前面有兩個製表符
範例:
原始檔案
$ cat a bbbbb ccccc ddddd eeeee fffff $ cat b aaaaa ddddd eeeee ggggg hhhhh
輸入指令:
$ comm a b aaaaa bbbbb ccccc ddddd eeeee fffff ggggg hhhhh $
比較已排序的a和b檔
$ comm -12 a b ddddd eeeee
只顯示公有行
#使用diff指令比較:
diff(difference)指令常用來比較兩個檔案中的內容。 diff 指令在最簡單的情況下,比較兩個檔案的不同。如果使用“-”代替“檔案”參數,則要比較的內容將來自標準輸入。
diff 指令是以逐行的方式比較文字檔的異同處。如果該指令指定進行目錄的比較,則會比較該目錄中具有相同文件名稱的文件,而不會對其子目錄文件進行任何比較操作。
比較檔案的格式
diff [选项] 文件名1 文件名2
範例:
比較兩個檔案的不同。
建立兩個樣本文件,分別命名為text 和text1,並分別輸入以下內容:
//test 11 22 33 44 55 66 77 //test1 11 22 aa 33 44 55 bb 66
在終端頁面中輸入命令如下:
[root@bogon ~]# diff test test1 3c3 < --- > aa 7c7 < --- > bb 9,10d8 < 77 <
輸出資訊的意義分別為:
「3c3」:表示第一個檔案的第3 行需要修改才能與第二個檔案的第3行相符;
“---”:表示分隔線;
“>aa”:> 表示第二個文件,第一個文件中需要新增的內容為aa,該內容存放在第二個文件中;
“>bb”:> 表示第二個文件,第一個文件中需要添加的內容為bb,該內容存放在第二個文件中;
“9,10d8”:表示刪除第一個文件中的第9 和第10 行才能和第二個文件中的第8 行相符;
「<77」:表示第一個檔案中待刪除的內容為77。
相關推薦:《Linux影片教學》
以上是linux怎麼比較檔案不同的詳細內容。更多資訊請關注PHP中文網其他相關文章!