Command-Line

如何獲取列表並將其從文件中刪除?

  • October 17, 2019

我有一長串需要從 /etc/remotedomains 中刪除的域名。它們在文件中可能沒有任何特定順序。每個域都在一行上。

我如何遍歷列表並在遠端域中找到該行並將其刪除。

grep -Fxf list -v /etc/remotedomains > remotedomains.new
mv remotedomains.new /etc/remotedomains

-v告訴 grep 只輸出與模式不匹配的行。

-f list告訴 grep 從文件中讀取模式list

告訴 grep將-F模式解釋為純字元串,而不是正則表達式(因此您不會遇到正則表達式元字元的問題)。

-x告訴 grep 匹配整行,例如,如果有一個模式應該foo只刪除 line foo,而不是 linefoobarbarfoo.

引用自:https://unix.stackexchange.com/questions/3457