如何在 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
廣告