как убрать из вывода пустые и закомментированные строки при помощи grep

вот есть в юниксах и линуксах текстовые конфигурационные файлы, нравится вам или нет. у apache например он весьма объемный с кучей комментариев и т.п.

захотелось вдруг вам посмотреть его без всей шелухи, а может и перенести на новую систему, или вообще сравнить с чем-то.

есть в системе такой очень полезный и мощный инструмент как grep. может кто не понимает по-буржуйски или не любит читать инструкции (man grep).

специально для вас:

grep -v '^#' имя_файла | grep -v '^$'

небольшие пояснения:
^ обозначает начало строки
# собственно символ комментирования, следующий за началом строки
| grep это передача вывода первой команды на обработку второй
$ означает конец строки

+UPD нашел способ все уложить в одну команду:

egrep -v '^#|^$' имя_файла

grep пропуск комментариев grep пропуск пустых строк

Запись опубликована в рубрике IT, UNIX и Linux. Добавьте в закладки постоянную ссылку.

4 комментария: как убрать из вывода пустые и закомментированные строки при помощи grep

  1. Merlin говорит:

    grep -ve «^#\|^[[:space:]]*$» file_name
    будет пропускать не только пустые строки но и строки состоящие из пробелов и табуляций

  2. Rockabilly Bandido говорит:

    grep -ve «^[[:space:]]*\(#\|$\)»
    будет пропускать не только все вішеперечисленное, но и строки, где перед решеткой только пробелы и табуляции.

    • kingdruid говорит:

      Тогда уже так: grep -Ev ‘^\s*(;|#|$)’
      Плюс комментарии бывают начинаются и с ‘;’

  3. Larrikin говорит:

    вариант на практике:

    grep -v ‘^#\|^$’ /etc/ssh/sshd_config

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *