我是最後學習如何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
\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文件,甚至用chef/puppet來自動管理它們。