如何在 Linux 系統中逐行比較兩個已排序的檔案?


要比較兩個已排序的檔案,我們在 Linux 系統中使用 comm 命令。

comm 命令用於逐行比較兩個已排序的檔案,並將三列寫入標準輸出。前兩列包含第一個檔案和第二個檔案中獨有的行,最後一列包含兩個檔案中共有的行。列以製表符分隔。comm 命令的功能類似於 diff 命令。

語法

comm 命令的通用語法如下:

comm [OPTION]... FILE1 FILE2

comm 命令中可用選項的簡要說明。

序號選項及說明
1-1
抑制第一列(FILE1 中獨有的行)
2-2
抑制第二列(FILE2 中獨有的行)
3-3
抑制第三列(FILE1 和 FILE2 中共有的行)
4--check-order
檢查輸入是否已正確排序,即使所有輸入行都是可配對的
5--nocheck-order
不要檢查輸入是否已正確排序
6--output-delimiter=STR
用給定的字串 STR 分隔列
7--total
顯示摘要
8-z, --zero-terminated
行分隔符為 NULL,而不是換行符
9--help
顯示幫助訊息,然後退出。
10--version
它提供有關版本的資訊,然後退出。

在這裡,我們將比較兩個已排序的檔案,並使用 comm 命令而不帶任何選項,並在標準輸出中以列形式顯示所有內容。

vikash@tutorialspoint: ~/Documents$ comm file_first file_second
Abhishek
Anand
   Annie
   Bidu
Bruce
Celesy
   Chiku
   Sayani
Vikash
   Wandra
vikash@tutorialspoint: ~/Documents$

在這裡,我們將比較兩個已排序的檔案,並使用 comm 命令的 -1 選項抑制第一列。

vikash@tutorialspoint: ~/Documents$ comm -1 file_first file_second
Annie
Bidu
Chiku
Sayani
Wandra
vikash@tutorialspoint: ~/Documents$

現在,我們將比較兩個已排序的檔案,並使用 comm 命令的 -2 選項抑制第二列。

vikash@tutorialspoint: ~/Documents$ comm -2 file_first file_second
Abhishek
Anand
Bruce
Celesy
Vikash
vikash@tutorialspoint: ~/Documents$

要檢視有關 comm 命令的更多資訊,我們使用 comm 命令的 –help 選項,如下所示。

$ comm --help

要檢查 comm 命令的版本資訊,我們使用命令的 –version 選項,如下所示

$ comm --version

更新於: 2021年6月30日

2K+ 閱讀量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告