Usar sed para eliminar "(comillas dobles) en líneas de código y dejarlas en comentarios reales en un vimrc

Usar sed para eliminar "(comillas dobles) en líneas de código y dejarlas en comentarios reales en un vimrc

Soyfinalmenteaprendiendo a usar sedpara editar configuraciones mientras instala Ubuntu (Servidor/Escritorio). Después de mucho crujir de dientes y buscar la sintaxis adecuada paranoelimine el "(comentario entre comillas dobles con exactamenteunoespacio en blanco después (comentarios reales)), a diferencia de las líneas que tienen código potencial para alternar (ceroespacios en blanco odosespacios en blanco para líneas de código sangradas) en el archivo /etc/vim/vimrc, descubrí cómo hacer que todo funcione con el siguiente comando:

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

¿Podrían los gurús o los aprendices, por favor, decirme si podría haber hecho esto mejor (más estricto/más limpio/etc.)?

¿Ejemplo de uso awkpara el mismo resultado?

Gracias.

Respuesta1

Utilice las \1variables de captura numeradas en el destino del cambio asís/^([[:space:]]*)"[[:space:]]*(let .*)/\1\2/

También usosed 'your change;another change' file > file.tmp$$ && mv file.tmp$$ file

Es la forma "más segura" y portátil de cambiar archivos en el lugar quesed -i ...

Para archivos dot como ~/.vimrcen ~ y archivos conf en /etc, use git para guardarlos localmente. etckeeper es excelente para la gestión de /etc con git.

Algunas personas utilizan augeaspara editar archivos conf, o incluso chef/puppet para administrarlos automáticamente.

información relacionada