Возвращение к основам, часть 4 — использование grep в GNU / Linux

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

Прежде чем мы продолжим, достаточно простой пример этого — использовать grep для поиска в списке процессов, заданных командой ps aux, для поиска конкретного приложения.

Grep в GNU / Linuxgrep spotify

ps aux | grep spotify

Выполнение этой команды при запущенном Spotify показало мне, что Spotify действительно работает, как показано на изображении ниже. Вы можете видеть, что в Spotify запущено несколько процессов:

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

Результаты цветового мелирования

Допустим, мы хотим выполнить поиск в документе, чтобы узнать, есть ли в этом документе определенная фраза (возможно, вы хотите узнать, есть ли в phonenumbers.txt номер телефона вашей тети Мэйбл).

grep —color «Mabel» phonenumbers.txt

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

Эта команда отобразит правильную строку, например: «Тетя Мейбл — 522-111-4321 »с выделенным текстом. Однако в этой строке есть одна загвоздка: если бы я набрал «mabel» со ​​строчной буквой M, она бы ничего не нашла, если предположить, что внутри phonenumbers.txt написано «Aunt Mabel».

Нечувствительность к регистру

Чтобы обойти подобные потенциальные проблемы, мы также можем использовать опцию -i, что означает «регистронезависимость».

grep —color -i «mabel» phonenumbers.txt

Опять же, если предположить, что слово Mabel существует в документе, это найдет и выделит его в этой строке, независимо от того, было ли в документе слово с заглавной буквы или нет.

Вот еще несколько примеров использования grep:

  • grep «текст поиска» имя_файла — для поиска файла по указанной строке.
  • grep «search text» file_pattern — для поиска нескольких файлов по указанной строке
  • grep «Regex» filename — использовать регулярные выражения для поиска содержимого файла.
  • grep -r «search text» * — рекурсивный поиск текста во всех файлах.

Дополнительные параметры можно найти на странице руководства grep, введя следующее в окне терминала, чтобы прочитать руководство по grep: man grep

Вы также можете проверить документацию grep на Сайт GNU.

Вывод

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

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

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