以例子簡介 ‘comm’ 指令

comm 是一個用作逐行比較兩個已排序檔案的指令,我們可以在多種情況下使用它,在討論實用例子前,讓我們先了解一下它是如何運作的。 ‘comm’ 指令是如何運作的 在沒有提供選項執行時 讓我們用例子看看 comm 指令是如何運作的,在以下例子中,我們需要創建兩個檔案: file1.txt Apple Banana Cat file2.txt Banana Whatever 我們可以把這兩個檔案作為指令的引數 (argument),並且不提供選項地執行這指令,看看 comm 會給我們怎樣的輸出。 noob@learnfromnoobs:~$ comm file1.txt file2.txt Apple Banana Cat Whatever 這結果看上來有點奇怪…… 到底這個輸出在表達甚麼呢?其實,如果在執行 comm …

[Unix/Linux] 刪除在另一個文件中存在的行

有時,我們需要在一個文件中刪除在另一個文件中存在的行,這通常發生在當我們需要從配置文件中刪除一些配置的時候,如果只有幾行需要刪除,這當然很容易,但是當我們要在多台主機上刪除許多行時,這將變得乏味且容易出錯, 我們應該使用一些自動的方法,而不是手動地把一行行刪除。(當然,我們仍然應該核對最後的結果是否正確。) 我們將使用一個簡單的示例來說明如何刪除這些行,假設我們正在組織一個派對,我們有兩個文件:all.txt 包含我們所有的朋友,而 remove.txt 包含不參加派對的朋友。 all.txt John Tom Tony Alex Michael Kalvin remove.txt Tony Alex Chris 留意雖然 “Chris” 存在於 remove.txt 內, 但卻不存於 all.txt 之中,在現實情況中,被要求刪除一行不存在的配置也是件相當平常的事。 如果文件中行的排序不能改變 1. grep -Fvxf remove.txt …