首頁 系統教程 Linux 透過使用'comm'指令來比較兩個已排序的文件

透過使用'comm'指令來比較兩個已排序的文件

Jan 08, 2024 pm 02:50 PM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

導讀 Linux 中的 comm 指令可以讓使用者按行比較兩個已經排序好的檔案。在本教程中,我們將使用一些淺顯易懂的範例來討論這個命令列工具。在開始之前,請注意,本教程中提到的所有範例都已經在 Ubuntu 16.04LTS 版本中測試過。 .

下面的範例將會告訴你 comm 指令是如何運作的。 。

比较两个排序好的文件的方法—— comm

#如何使用 comm比較兩個排序好的檔案

要使用comm 指令比較兩個排序好的文件,只要要把它們的名字當作comm 指令的參數。下面是通常的語法:

comm [name-of-first-file] [name-of-second-file]
登入後複製

例如,假設file1 file2 是這種情況下的兩個檔案。前者包含下面幾行內容:

001
056
127
258
登入後複製

而後者包含下面幾行內容:

002
056
167
369
登入後複製

此時,comm指令的輸出如下圖所示:

comm file1 file2
登入後複製

比较两个排序好的文件的方法—— comm

#你可以看到,輸出包含 3 列。第一列是僅包含在file1中的內容,第二列是僅包含在file2 中的內容,最後,第三列是兩個檔案中都包含的內容。

如何不輸出 comm 指令輸出中的某些欄位

如果你想,你可以不輸出 comm指令輸出中的某些欄位。對於該特性,你有三個命令列選項可用:-1-2-3 。正如你所猜想的,這些數字表示你不想輸出的列。

例如,下面這個指令將會不輸出上面範例中的第三列:

comm -3 file1 file2
登入後複製

比较两个排序好的文件的方法—— comm

#因此,你可以看到,第三列並沒有輸出。

注意,你可以透過一個單一指令同時不輸出多列內容。如:

comm -12 file1 file2
登入後複製

上面這個指令將會不輸出第一、二列。

如何使用 comm 指令比較兩個未排序好的檔案

如我們所知道的,comm 只可用於排序好的檔案。如果發現其中一個檔案未排序好,那麼便會在輸出中產生一條訊息來告訴使用者。例如,我們交換 file1 的第一行和第二行,然後再與 file2 進行比較。下面是該指令的輸出:

比较两个排序好的文件的方法—— comm

#你可以看到,這個指令產生一個輸出告訴我們:file1 還沒排序好。此時,如果你不想讓這個工具檢查輸入是否已經排序好,那麼你可以使用 --nocheck-order 選項:

comm --nocheck-order file1 file2
登入後複製

比较两个排序好的文件的方法—— comm

#你可以看到,前面出現的提示訊息已經消失了。

注意,如果你想明確告訴 comm 指令來檢查輸入檔是否排序好,那麼你可以使用 --check-order選項。

如何用自定义字符串分隔comm 命令的输出列

默认情况下,comm 命令的输出列之间是以空格分隔的。然而,如何你想使用一个自定义字符串作为分隔符,那么你可以使用 --output-delimiter选项。使用该选项时需要指定你想用来作为分隔符的字符串。

comm --output-delimiter=+ file1 file2
登入後複製

比如,我们使用加号来作为分隔符:

比较两个排序好的文件的方法—— comm

如何使 comm 的输出行以 NUL字符终止

默认情况下,comm 命令的输出行以新行终止。然而,如果你想,那么你可以改为以 NUL 字符终止,只需要使用-z 选项即可:

comm -z file1 file2
登入後複製
结论

comm 命令并没有特别多的特性性,我们在这儿已经讨论了它的绝大多数命令行选项。只需要理解和练习在这篇教程中讨论的内容,那么你便可以在日常工作中知道如何使用这个工具了。如果你有任何问题或者疑问,请前往该命令的 man 手册,或者在下面评论。


以上是透過使用'comm'指令來比較兩個已排序的文件的詳細內容。更多資訊請關注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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 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)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1272
29
C# 教程
1251
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

sublime快捷鍵怎麼使用 sublime快捷鍵怎麼使用 Apr 16, 2025 am 08:57 AM

Sublime Text 提供了提高开发效率的快捷键,包括常用的(保存、复制、剪切等)、编辑(缩进、格式化等)、导航(项目面板、文件浏览等)以及查找和替换快捷键。熟练使用这些快捷键可显著提升 Sublime 的使用效率。

See all articles