Рассмотрим как в vi удалить пустые строки и комментарии.
Часто стандартные конфигурационные файлы программных пакетов (например, Asterisk) содержат в себе всю необходимую документацию и примеры настройки. Это полезно, но затрудняет чтение файла или делает его практически невозможным.
Лучшим решением в таких случаях может быть создание копии конфига и удаление всего ненужного содержимого из самого файла, используемого программным пакетом. Проще всего сделать это в vi.
vi удалить пустые строки
Например, при настройке телефонии на базе Asterisk приходится редактировать extentions.conf, содержащий несколько тысяч строк комментариев и множество пустых строк
От них можно просто избавиться
vi extentions.conf
Начнем с пустых строк — вводим следующую комбинацию:
:g/^$/d
^ — символ обозначающий в bash начало строки
$ — символ обозначающий конец строки
d — необходимое действие — удалить
Поскольку между началом строки и концом не задано никаких символов под регулярное выражение подпадут все пустые строки и будут удалены.
Аналогичным образом можно избавиться от комментариев.
Если в конфигурационном файле для закомментированных строк используется точка с запятой:
:g/^;/d
Если используется решетка:
:g/^#/d
Можно убрать все строки с решеткой опустив ^, но тогда под регулярное выражение попадут строки вида
force_update=yes #update packet
Поэтому стоит использовать выражения с осторожностью, но часто они оказываются очень полезными, и подходят при ручной конфигурации, в скриптах те же действия можно выполнять, например, используя утилиту sed.
Мы рассмотрели как в vi удалить пустые строки и комментарии.
Читайте также про bash скрипты.