Anonim

Глобальное регулярное выражение 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. Чтобы получить все шансы, может потребоваться некоторое время, но синтаксис следует довольно простому принципу. И с некоторой практикой вы сможете усовершенствовать свои поиски до совершенства, с именем файла или без него.

Как grep без имени файла