Яокончательноизучение того, как использовать 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 для автоматического управления ими.