Использование sed для удаления "(двойных кавычек) в строках кода, оставляя их в настоящих комментариях в vimrc

Использование sed для удаления "(двойных кавычек) в строках кода, оставляя их в настоящих комментариях в vimrc

Яокончательноизучение того, как использовать 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в ~, и файлов conf в /etc используйте git, чтобы сохранить их локально. etckeeper отлично подходит для управления /etc с помощью git.

Некоторые люди используют augeasдля редактирования файлов conf или даже chef/puppet для автоматического управления ими.

Связанный контент