Usando sed para remover "(aspas duplas) nas linhas de código, deixando-as em comentários reais em um vimrc

Usando sed para remover "(aspas duplas) nas linhas de código, deixando-as em comentários reais em um vimrc

Eu soufinalmenteaprendendo como sededitar 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 awkpara o mesmo resultado?

Obrigado.

Responder1

Use as \1variá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 ~/.vimrcarquivos dotfiles como ~ e conf em /etc, use git para salvá-los localmente. etckeeper é ótimo para gerenciamento de /etc com git.

Algumas pessoas usam augeaspara editar arquivos conf, ou até mesmo chef/puppet para gerenciá-los automaticamente.

informação relacionada