您好,登錄后才能下訂單哦!
這篇文章主要講解了“Linux comm命令使用實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux 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
你可以看到,輸出包含 3 列。第一列是僅包含在file1中的內容,第二列是僅包含在 file2 中的內容,最后,第三列是兩個文件中均包含的內容。
如果你想,你可以不輸出 comm命令輸出中的某些列。對于該特性,你有三個命令行選項可用:-1、-2 和 -3 。正如你所猜想的,這些數字表示你不想輸出的列。
比如,下面這個命令將會不輸出上面例子中的第三列:
comm -3 file1 file2
因此,你可以看到,第三列并沒有輸出。
注意,你可以通過一個單一命令同時不輸出多列內容。比如:
comm -12 file1 file2
上面這個命令將會不輸出第一、二列。
正如我們所知道的,comm 只可用于排序好的文件。如果發現其中一個文件未排序好,那么便會在輸出中產生一條信息來告訴用戶。比如,我們交換 file1 的第一行和第二行,然后與 file2 進行比較。下面是該命令的輸出:
你可以看到,這個命令產生一個輸出告訴我們:file1 還沒有排序好。此時,如果你不想讓這個工具檢查輸入是否已經排序好,那么你可以使用 –nocheck-order 選項:
comm --nocheck-order file1 file2
你可以看到,前面出現的提示信息已經消失了。
注意,如果你想明確告訴 comm 命令來檢查輸入文件是否排序好,那么你可以使用 –check-order選項。
默認情況下,comm 命令的輸出列之間是以空格分隔的。然而,如何你想使用一個自定義字符串作為分隔符,那么你可以使用 –output-delimiter選項。使用該選項時需要指定你想用來作為分隔符的字符串。
comm --output-delimiter=+ file1 file2
比如,我們使用加號來作為分隔符:
默認情況下,comm 命令的輸出行以新行終止。然而,如果你想,那么你可以改為以 NUL
字符終止,只需要使用-z 選項即可:
comm -z file1 file2
感謝各位的閱讀,以上就是“Linux comm命令使用實例分析”的內容了,經過本文的學習后,相信大家對Linux comm命令使用實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。