Eu soufinalmenteaprendendo como sed
editar configurações durante a instalação do Ubuntu (Servidor/Desktop). Depois de muito ranger de dentes e procurar pela sintaxe adequada paranãoremova as "
(comente aspas duplas com exatamenteumespaço em branco depois(comentários reais)), em oposição às linhas que possuem código potencial para alternar(zeroespaços em branco oudoisespaços em branco para linhas de código recuadas) no arquivo /etc/vim/vimrc, descobri como fazer as coisas funcionarem com o seguinte comando:
$ sudo sed -i.orig '/^\" [a-zA-Z]\|^"set compatible\|^\" let g:skip_defaults_vim = 1b/! s/^\"//' /etc/vim/vimrc
Os Gurus ou aprendizes, por favor, me avisem se eu poderia ter feito isso melhor (mais apertado/limpo/etc.)?
Exemplo usando awk
para o mesmo resultado?
Obrigado.
Responder1
Use as \1
variáveis de captura numeradas no destino da mudança como mostrado abaixos/^([[:space:]]*)"[[:space:]]*(let .*)/\1\2/
Use tambémsed 'your change;another change' file > file.tmp$$ && mv file.tmp$$ file
É a maneira "mais segura" e portátil de alterar arquivos no local do quesed -i ...
Para ~/.vimrc
arquivos dotfiles como ~ e conf em /etc, use git para salvá-los localmente. etckeeper é ótimo para gerenciamento de /etc com git.
Algumas pessoas usam augeas
para editar arquivos conf, ou até mesmo chef/puppet para gerenciá-los automaticamente.