Как показать файл без комментариев в Linux

Часто конфигурационные файлы различных программ содержат много строк комментариев, что делает их многословными и большими. Может быть утомительно просматривать такой конфигурационный файл и находить важные настройки среди всех этих комментариев. Хотя вы можете использовать grep для быстрого поиска нужного текста, его можно усовершенствовать еще больше, чтобы исключить из вывода все комментарии. Таким образом, вы сможете легко просмотреть файл без комментариев в Linux. Мы рассмотрим, как просматривать обычные конфигурационные файлы без комментариев в Linux.

Как показать файл без комментариев в Linux

Рассмотрим на примере конфигурационного файла PHP /etc/php/8.1/cli/php.ini. В этом файле каждый комментарий начинается с точки с запятой (;). Вот команда для просмотра всего файла php.ini без комментариев с помощью grep.

В приведенной выше команде мы используем регулярное выражение grep, чтобы указать, что мы хотим просмотреть строки, которые не начинаются (с помощью ^) с точки с запятой (;). Поскольку точка с запятой является специальным символом, мы экранируем ее с помощью обратного слеша(\).

Обратите внимание, что приведенная выше команда выводит содержимое файла на стандартный вывод (терминал). Если вы хотите сохранить его в другом файле, вы можете использовать оператор перенаправления для записи вывода в другой файл. Таким образом, вам не придется многократно выполнять приведенную выше команду.

В некоторых конфигурационных файлах для указания начала комментариев может использоваться символ хэша (#). В таких случаях вы можете использовать следующую команду для отображения содержимого файла без комментариев, начинающихся с символа #.

Также может случиться так, что в конфигурационном файле перед точкой с запятой или символами хеша будут пробелы. В таких случаях можно воспользоваться следующей командой.

ИЛИ

В приведенном выше примере опция -v означает несовпадающие строки. Далее мы используем ^$ для удаления пустых пробелов. Мы используем ^[[:space:]]# или ^[[:space:]]]; для обозначения хэша или двоеточия, которым предшествует пробел соответственно. Мы используем оператор '|' для обозначения оператора OR для двух регулярных выражений. По сути, мы хотим отобразить строки, которые не являются пустыми или начинаются с пробела, за которым следует символ решетки или точка с запятой.

Заключение

В этой статье мы узнали, как просмотреть содержимое файла в Linux, удалив комментарии. Ключевым моментом является настройка регулярного выражения, используемого в функции grep или egrep, для правильного соответствия комментариям. Вы также можете использовать его в сценариях оболочки для автоматического удаления комментариев из файла перед его дальнейшей обработкой. Это может быть полезно при автоматической обработке дампов данных, которые могут содержать комментарии.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий