您好,登錄后才能下訂單哦!
本篇內容介紹了“linux如何比較文件不同”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
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如何比較文件不同”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。