Удалить пустые строки в редакторе vi


Рассмотрим как в 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 скрипты.

Сказать спасибо