Sed

使用 sed 命令在 linux 終端中用註釋替換配置文件

  • May 14, 2020

我對sed略知一二。在 /etc/nanorc 我得到了一堆帶有註釋的設置(例如:)。

#bind ^K setting 1
#bind ^F whereis all
#bind ^J setting 3

所以,我只想註釋掉這個設置以在 nano 中啟用鍵 CTRL+D:

#bind ^F whereis all

我試過這個,但似乎它不起作用:

sed -ri "s/#bind ^F whereis all.*$/\bind ^F whereis all/" /etc/nanorc

說真的,我不知道該怎麼做。

使用簡單的文本編輯器註釋一行要容易得多,但無論如何……

您的命令不起作用,因為^它是一個特殊的正則表達式字元,意思是“行首”(當不在 and 之間時[]。所以你的正則表達式永遠不會匹配,因為你希望行的開頭在行的中間。此外,您在替換中轉義了b不需要的字元。改用這個:

sed -ri "s/#bind \\^F whereis all.*$/bind ^F whereis all/" /etc/nanorc

引用自:https://serverfault.com/questions/1017120