Глобальное регулярное выражение print или just grep - одна из самых универсальных и распространенных команд в системах Unix и Linux. Команда ищет один или несколько входных файлов и соответствующие строки шаблона. В результате вы получите стандартный вывод с совпадающими строками.
Если вы не укажете файл, grep использует стандартный ввод для показаний, и он, скорее всего, будет выводом другой команды. В целом, grep имеет простой синтаксис, используете ли вы его с именем файла или без него.
В этой статье представлен краткий обзор синтаксиса grep и некоторых основных команд, которые можно использовать с именем файла или без него.
Прежде чем ты начнешь
Все команды grep имеют одинаковый синтаксис, и каждый параметр имеет определенную функцию. Вот пример строки:
grep PATTERN
Вы можете использовать несколько опций в grep для управления выводом команды, и число начинается с нуля. PATTERN указывает шаблон поиска, который вы хотите применить. Что касается ФАЙЛА, это то место, куда идут имя файла или имена, но параметр может быть установлен в ноль.
Поиск строки в выводе команды
Как указано, вам не нужно использовать конкретные входные файлы. Вывод другой команды можно использовать в grep для получения строк, которые точно соответствуют шаблону. Это можно использовать для определения, какие процессы активны в системе. Это пример синтаксиса команды:
$ ps -ef | grep www-data
Вывод, который вы получите, должен выглядеть примерно так:
www-data 18247 12675 4 16:00? 00:00:00 php-fpm: пул www
root 18272 17714 0 16:00 pts / 0 00:00:00 grep –color = auto –exclude-dir = .bzr –exclude-dir = CVS –exclude-dir = .git –exclude-dir = .hg –exclude- dir = .svn www-data
www-data 31147 12770 0 окт22? 00:05:51 nginx: рабочий процесс
www-data 31148 12770 0 окт22? 00:00:00 nginx: процесс менеджера кэша
Есть способ исключить командную строку, в которой представлены процессы grep. Для этого вам нужно использовать $ ps -ef | grep www-data | grep -v команда grep .
Grep Поиск слова
Вы можете использовать команды grep для поиска определенных слов в файлах в вашей системе. На самом деле, нет необходимости вводить целое слово. Например, вы можете просто использовать gnu, и команда выводит все слова, которые содержат эти три буквы. Синтаксис команды:
$ grep gnu / usr / share / words
После выполнения команды ваш вывод должен выглядеть примерно так:
Cygnus
гну
междуцарствие
lgnu9d
железное
винная бутыль
Магнусона
сфагнум
Wingnut
С другой стороны, вы можете искать только это конкретное слово или строку букв и исключать все остальное. Для этого вам нужно добавить -w или –word - regexp в синтаксис. В этом случае пример команды выглядит так - $ grep -w gnu / usr / share / words .
Примечание. В целях грамматики некоторые команды имеют точку остановки в конце. Вам не нужен этот знак пунктуации для grep. Исключите его при копировании / вставке команды.
Grep чувствителен к регистру?
Все команды grep чувствительны к регистру по умолчанию. Это означает, что использование строчных и прописных символов имеет значение в самой команде. Однако вы можете добавить - i ( - ignore - case ) в командную строку и позволить системе выполнять поиск как прописных, так и строчных букв.
Например, ваша команда ввода может выглядеть так: $ grep -i Zebra / usr / share / words . Это позволяет выводу совпадать с любой комбинацией прописных и строчных букв при поиске зебры.
Номера строк
Используйте параметр –line-number или просто -n, чтобы определить количество строк со строкой, которая соответствует определенному шаблону поиска. В результате вы получите стандартный вывод с номером строки перед ним.
Точная команда может выглядеть так: $ grep -n 10000 / etc / services . После выполнения вывод предоставляет все найденные совпадения на 10000 строк. Проверьте образец ниже:
10423: ndmp 10000 / tcp
10424: ндмп 10000 / удп
Файлы в папках
Вы можете поставить звездочку за командой grep вместо имени файла. При повторном использовании критериев gnu команда выглядит следующим образом: $ grep gnu *, а в выводе перечисляются файлы, в которых содержится gnu . Важно отметить, что команда такого типа возвращает строку.
Примечание. С помощью grep строка относится к последовательности символов, которые подходят к указанному разрыву. Если вы не уточните поиск, вывод может содержать целые абзацы информации.
Сделайте следующий шаг с Grep
Это руководство просто показывает, что вы можете сделать с помощью grep. Чтобы получить все шансы, может потребоваться некоторое время, но синтаксис следует довольно простому принципу. И с некоторой практикой вы сможете усовершенствовать свои поиски до совершенства, с именем файла или без него.