首頁 運維 linux運維 linux怎麼比較檔案不同

linux怎麼比較檔案不同

Mar 25, 2022 pm 04:21 PM
linux

linux比較文件不同的方法:1、使用comm指令,可比較已經排序的文件,語法「comm [選項] 檔案名稱1 檔案名稱2」;2、使用diff指令,會以逐行的方式比較文字檔的異同處,語法「diff [選項] 檔名1 檔名2」。

linux怎麼比較檔案不同

本教學操作環境: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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

無法以 root 身份登錄 mysql 無法以 root 身份登錄 mysql Apr 08, 2025 pm 04:54 PM

無法以 root 身份登錄 MySQL 的原因主要在於權限問題、配置文件錯誤、密碼不符、socket 文件問題或防火牆攔截。解決方法包括:檢查配置文件中 bind-address 參數是否正確配置。查看 root 用戶權限是否被修改或刪除,並進行重置。驗證密碼是否準確無誤,包括大小寫和特殊字符。檢查 socket 文件權限設置和路徑。檢查防火牆是否阻止了 MySQL 服務器的連接。

C語言條件編譯:新手入門到實戰應用的詳盡指南 C語言條件編譯:新手入門到實戰應用的詳盡指南 Apr 04, 2025 am 10:48 AM

C語言條件編譯是一種根據編譯時條件選擇性編譯代碼塊的機制,入門方法有:使用#if和#else指令根據條件選擇代碼塊。常用條件表達式包括STDC、_WIN32和linux。實戰案例:根據操作系統打印不同消息。根據系統位數使用不同的數據類型。根據編譯器支持不同的頭文件。條件編譯增強了代碼的可移植性和靈活性,使其適應編譯器、操作系統和CPU架構變化。

【Rust自學】簡介 【Rust自學】簡介 Apr 04, 2025 am 08:03 AM

1.0.1前言這個項目(包括代碼和註釋)是在我自學Rust的過程中記錄的。可能有不准確或表述不清的地方,還請大家諒解。如果您從中受益,那就更好了。 1.0.2為什麼使用RustRust可靠且高效。 Rust可以取代C和C,性能相似但安全性更高,並且不需要像C和C那樣頻繁重新編譯來檢查錯誤。主要優點包括:內存安全(防止空指針取消引用、懸空指針和數據爭用)。線程安全(確保多線程代碼在執行前是安全的)。避免未定義的行為(例如,數組越界、未初始化的變量或訪問已釋放的內存)。 Rust提供現代語言功能(例如泛型

Linux的5個基本組件是什麼? Linux的5個基本組件是什麼? Apr 06, 2025 am 12:05 AM

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。

mysql 無法啟動怎麼解決 mysql 無法啟動怎麼解決 Apr 08, 2025 pm 02:21 PM

MySQL啟動失敗的原因有多種,可以通過檢查錯誤日誌進行診斷。常見原因包括端口衝突(檢查端口占用情況並修改配置)、權限問題(檢查服務運行用戶權限)、配置文件錯誤(檢查參數設置)、數據目錄損壞(恢復數據或重建表空間)、InnoDB表空間問題(檢查ibdata1文件)、插件加載失敗(檢查錯誤日誌)。解決問題時應根據錯誤日誌進行分析,找到問題的根源,並養成定期備份數據的習慣,以預防和解決問題。

MySQL安裝在特定係統版本上報錯的解決途徑 MySQL安裝在特定係統版本上報錯的解決途徑 Apr 08, 2025 am 11:54 AM

MySQL安裝報錯的解決方法是:1.仔細檢查系統環境,確保滿足MySQL的依賴庫要求,不同操作系統和版本需求不同;2.認真閱讀報錯信息,根據提示(例如缺少庫文件或權限不足)採取對應措施,例如安裝依賴或使用sudo命令;3.必要時,可嘗試源碼安裝並仔細檢查編譯日誌,但這需要一定的Linux知識和經驗。最終解決問題的關鍵在於仔細檢查系統環境和報錯信息,並參考官方文檔。

mysql 可以在 android 上運行嗎 mysql 可以在 android 上運行嗎 Apr 08, 2025 pm 05:03 PM

MySQL無法直接在Android上運行,但可以通過以下方法間接實現:使用輕量級數據庫SQLite,由Android系統自帶,無需單獨服務器,資源佔用小,非常適合移動設備應用。遠程連接MySQL服務器,通過網絡連接到遠程服務器上的MySQL數據庫進行數據讀寫,但存在網絡依賴性強、安全性問題和服務器成本等缺點。

c語言函數庫在什麼位置? c語言函數庫怎麼添加? c語言函數庫在什麼位置? c語言函數庫怎麼添加? Apr 03, 2025 pm 11:39 PM

C語言函數庫是一個包含各種函數的工具箱,這些函數被組織在不同的庫文件中。添加函數庫需要通過編譯器的命令行選項來指定,例如 GCC 編譯器使用 -l 選項,後跟庫名的縮寫。如果庫文件不在默認搜索路徑下,則需要使用 -L 選項指定庫文件路徑。庫有靜態庫和動態庫之分,靜態庫在編譯時直接鏈接到程序中,而動態庫在運行時被加載。

See all articles