linux怎么比較文件不同

linux比較文件不同的方法:1、使用comm命令,可比較已經(jīng)排序的文件,語(yǔ)法“comm [選項(xiàng)] 文件名1 文件名2”;2、使用diff命令,會(huì)以逐行的方式比較文本文件的異同處,語(yǔ)法“diff [選項(xiàng)] 文件名1 文件名2”。

linux怎么比較文件不同

本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。

linux 比較文件不同

Linux文件比較命令用來(lái)比較兩個(gè)文件內(nèi)容的差別。主要有comm命令和diff命令。如果想對(duì)兩個(gè)有序的文件進(jìn)行比較,可以使用comm命令。如果要逐行比較兩個(gè)文本文件,列出其不同之處可以使用diff命令。

使用comm命令比較:

比較已經(jīng)排序的文件

comm?[選項(xiàng)]?文件名1?文件名2

comm將逐行比較已經(jīng)排序的兩個(gè)文件。顯示結(jié)果包括3列:

第1列為只在file1中找到的行;第2列為只在file2中找到的行;第3列為兩個(gè)文件的公用行。

參數(shù)

參數(shù)file1和file2為comm要比較的文件的路徑名。用連字符(-)來(lái)替代file1或者file2時(shí),comm將從標(biāo)準(zhǔn)輸入讀取輸入信息

選項(xiàng)

  • -1? ? ? ? ? ? ? 不顯示第1列(即不顯示只在file1中找到的行)

  • -2? ? ? ? ? ? ? 不顯示第2列(即不顯示只在file2中找到的行)

  • -3? ? ? ? ? ? ? 不顯示第3列(即不顯示在兩個(gè)文件中都找到的行)

注意

如果文件沒(méi)有排序,comm就不能正常的工作

第2列的沒(méi)一行前面有一個(gè)制表符,第3列中的每一行前面有兩個(gè)制表符

示例:

原文件

$?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 $

比較排序過(guò)的a和b文件

$?comm?-12?a?b? ddddd eeeee

僅顯示公有行

使用diff命令比較:

diff(difference)命令常用來(lái)比較兩個(gè)文件中的內(nèi)容。diff 命令在最簡(jiǎn)單的情況下,比較兩個(gè)文件的不同。如果使用“-”代替“文件”參數(shù),則要比較的內(nèi)容將來(lái)自標(biāo)準(zhǔn)輸入。

diff 命令是以逐行的方式比較文本文件的異同處。如果該命令指定進(jìn)行目錄的比較,則將會(huì)比較該目錄中具有相同文件名的文件,而不會(huì)對(duì)其子目錄文件進(jìn)行任何比較操作。

比較文件的格式

diff?[選項(xiàng)]?文件名1?文件名2

示例:

比較兩個(gè)文件的不同。

創(chuàng)建兩個(gè)樣本文件,分別命名為 text 和 text1,并分別輸入以下內(nèi)容:

//test 11 22 33 44 55 66 77 //test1 11 22 aa 33 44 55 bb 66

在終端頁(yè)面中輸入命令如下:

[root@bogon?~]#?diff?test?test1 3c3 ?aa 7c7 ?bb 9,10d8 <p>輸出信息的含義分別為:</p>
  • “3c3”:表示第一個(gè)文件的第 3 行需要修改才能和第二個(gè)文件的第3行相匹配;

  • “—”:表示分隔線;

  • “>aa”:> 表示第二個(gè)文件,第一個(gè)文件中需要添加的內(nèi)容為 aa,該內(nèi)容存放在第二個(gè)文件中;

  • “>bb”:> 表示第二個(gè)文件,第一個(gè)文件中需要添加的內(nèi)容為 bb,該內(nèi)容存放在第二個(gè)文件中;

  • “9,10d8”:表示刪除第一個(gè)文件中的第 9 和第 10 行才能和第二個(gè)文件中的第 8 行相匹配;

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊12 分享