
В этом руководстве представлены некоторые из лучших инструментов командной строки, которые используются для поиска совпадающих строк или шаблонов в текстовых файлах. Эти инструменты обычно используются вместе с регулярными выражениями - сокращенно REGEX - уникальные строки для описания поискового шаблона.
Без лишних слов, давайте перейдем к делу.
На первом месте стоит утилита grep - это аббревиатура от Печать глобального регулярного выражения, представляет собой мощный инструмент командной строки, который пригодится при поиске определенной строки или шаблона в файле.
Grep корабли с современные дистрибутивы Linux по умолчанию и дает вам возможность возвращать различные результаты поиска. С помощью grep вы можете выполнять широкий спектр функций, таких как:
Синтаксис использования grep команда довольно проста:
$ grep pattern ФАЙЛ.
Например, чтобы найти строку ‘Linux"В файле, скажем, hello.txt игнорируя чувствительность к регистру, выполните команду:
$ grep -i Linux hello.txt.
Чтобы получить больше возможностей, которые можно использовать с grep, просто прочтите нашу статью, в которой больше примеров расширенные примеры команд grep.
Сед - Короче для Редактор потока - еще один полезный инструмент командной строки для манипулирование текстом в текстовом файле. Sed ищет, фильтрует и заменяет строки в заданном файле неинтерактивным образом.
По умолчанию, sed команда печатает вывод в STDOUT (Стандартный выход), подразумевая, что результат выполнения печатается на терминале, а не сохраняется в файле.
Команда Sed вызывается следующим образом:
$ sed -OPTIONS команда [файл для редактирования]
Например, чтобы заменить все экземпляры ‘Unix' с 'Linux‘, Вызовите команду:
$ sed 's / Unix / Linux' hello.txt.
Если вы хотите перенаправить вывод, а не печатать его на терминале, используйте знак перенаправления ( > )
как показано.
$ sed 's / Unix / Linux' hello.txt> output.txt.
Вывод команды сохраняется в output.txt файл вместо вывода на экран.
Чтобы узнать о других вариантах, которые можно использовать, еще раз просмотрите страницы руководства.
$ man sed.
Подтвердить это быстрый и портативный инструмент командной строки, написанный на Perl. Подтвердить считается дружественной заменой утилита grep и выводит результаты в визуально привлекательной манере.
Подтвердить Команда ищет в файле или каталоге строки, содержащие соответствие критериям поиска. Затем он выделяет соответствующую строку в строках.
Подтвердить имеет возможность различать файлы на основе их расширений и, в определенной степени, содержимого в файлах.
Синтаксис команды Ack:
$ ack [параметры] ШАБЛОН [ФАЙЛ ...] $ ack -f [параметры] [СПРАВОЧНИК ...]
Например, чтобы проверить поисковый запрос Linux, запустить:
$ ack Linux hello.txt.
Инструмент поиска довольно интеллектуален, и если пользователь не предоставляет файл или каталог, он ищет шаблон поиска в текущем каталоге и подкаталогах.
В приведенном ниже примере файл или каталог не были предоставлены, но ack автоматически обнаружил доступный файл и осуществил поиск предоставленного совпадающего шаблона.
$ ack Linux.
Установить подтверждать в вашей системе выполните команду:
$ sudo apt install ack-grep [В Debian / Ubuntu] $ sudo dnf install ack-grep [В CentOS / RHEL]
Awk это полноценный язык сценариев, а также инструмент для обработки текста и данных. Он ищет файлы или программы, содержащие шаблон поиска. Когда строка или образец найдены, awk выполняет действие с совпадением или строкой и распечатывает результаты на STDOUT.
В AWK шаблон заключен в фигурные скобки, а вся программа заключена в одинарные кавычки.
Возьмем простейший пример. Предположим, вы печатаете дату своей системы, как показано:
$ date.
Предположим, вы хотите распечатать только первое значение, то есть день недели. В этом случае направьте вывод в awk как показано:
$ дата | awk '{print $ 1}'
Чтобы отобразить последующие значения, разделите их запятыми, как показано:
$ дата | awk '{print $ 1, $ 2}'
Приведенная выше команда отобразит день недели и число месяца.
Чтобы получить больше возможностей, которые можно использовать с awkпросто прочтите наш серия команд awk.
В серебряный искатель кроссплатформенный инструмент поиска кода с открытым исходным кодом, похожий на подтверждать но с упором на скорость. Это упрощает поиск определенной строки в файлах в кратчайшие сроки:
Синтаксис:
$ ag ОПЦИИ шаблон_поиска / путь / к / файлу.
Например, чтобы найти строку ‘Linux‘В файле hello.txt вызвать команду:
$ ag Linux hello.txt.
Дополнительные параметры см. На страницах руководства:
$ man ag.
Наконец, у нас есть рипгреп инструмент командной строки. Рипгреп - кроссплатформенная утилита для поиска шаблонов регулярных выражений. Он намного быстрее, чем все ранее упомянутые инструменты поиска, и рекурсивно выполняет поиск в каталогах на предмет соответствия шаблонам. С точки зрения скорости и производительности ни один другой инструмент не выделяется таким Рипгреп.
По умолчанию, рипгреп пропустит двоичные файлы / скрытые файлы и каталоги. Также имейте в виду, что по умолчанию он не будет искать файлы, которые игнорируются .gitignore / .ignore / .rgignore файлы.
Рипгреп также позволяет искать файлы определенных типов. Например, чтобы ограничить поиск Javascript файлы запускаются:
$ rg -Tsj.
Синтаксис использования ripgrep довольно прост:
$ rg [ОПЦИИ] ШАБЛОН [ПУТЬ ...]
Например. Для поиска экземпляров строки «Linux» в файлах, расположенных внутри текущего каталога, выполните команду:
$ rg Linux.
Установить рипгреп в вашей системе выполните следующие команды:
$ sudo apt install ripgrep [Вкл. Debian / Ubuntu] $ sudo pacman -S ripgrep [Вкл.Arch Linux] $ sudo zypper install ripgrep [Вкл.OpenSuse] $ sudo dnf install ripgrep [Вкл.CentOS / RHEL / Fedora]
Дополнительные параметры см. На страницах руководства:
$ man rg.
Это одни из наиболее широко используемых инструментов командной строки для поиска, фильтрации и управления текстом в Linux. Если у вас есть другие инструменты, которые, по вашему мнению, мы упустили, сообщите нам об этом в разделе комментариев.