Ubuntu

使用 sed 刪除程式碼行上的“(雙引號),同時將它們留在 vimrc 中的真實註釋上

  • September 11, 2018

終於學會瞭如何sed在安裝 Ubuntu(伺服器/桌面)時使用來編輯配置。經過大量咬牙切齒並尋找正確的語法以刪除"(註釋雙引號,之後恰好有一個空格(真正的註釋)),而不是有潛在程式碼切換的行(個空格或兩個/etc/vim/vimrc 文件中用於縮程序式碼行的空格),我想出瞭如何使用以下命令使事情工作:

$ sudo sed -i.orig '/^\" [a-zA-Z]\|^"set compatible\|^\" let g:skip_defaults_vim = 1b/! s/^\"//' /etc/vim/vimrc

如果我可以做得更好(更緊/更清潔/等),請大師或學徒們告訴我嗎?

awk使用相同結果的範例?

謝謝你。

\1像這樣在更改目標中使用編號的擷取變數s/^([[:space:]]*)"[[:space:]]*(let .*)/\1\2/

也使用sed 'your change;another change' file > file.tmp$$ && mv file.tmp$$ file

這是更改文件的“更安全”和便攜的方式sed -i ...

對於~/.vimrc~ 下的點文件和 /etc 下的 conf 文件,使用 git 將它們保存在本地。etckeeper 非常適合使用 git 進行 /etc 管理。

有些人使用augeas編輯 conf 文件,甚至廚師/木偶來自動管理它們。

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