grep — это простой и широко используемый метод поиска или фильтрации файлов по определенным строкам символов в Linux. Команда Linux имеет единый синтаксис и облегчает поиск по фиксированным параметрам.
Что такое grep?
grep — это сокращение от » глобальная печать регулярных выражений «. Поскольку программа входит в базовый пакет Ubuntu, устанавливать ее отдельно не требуется. Команды grep используются для поиска шаблонов и строк. Это позволяет фильтровать искомую информацию даже в больших файлах журналов. Важно никогда не выполнять поиск файлов устройств, так как это может вызвать проблемы.
Как используется grep?
Основной синтаксис grep следующий: » grep [опции] строка поиска [файл] » или, альтернативно, » grep [опции] [-e шаблон | -f файл] [файл] «. Простым примером команды grep в Linux может быть поиск определенного термина в тексте кода или файла журнала. Поэтому, если вы хотите найти термин „тест“ в файле с именем example.txt, введите в grep следующее: „grep „test“ example.txt“. Соответствующие строки в этом файле теперь отображаются.
Регулярные выражения как основа grep
Основой этого процесса являются так называемые » регулярные выражения » в Linux. Эти «регулярные выражения» существуют в базовом и расширенном вариантах, причем последний относится к grep. Регулярные выражения можно использовать для поиска отдельных символов или строк символов с помощью grep. Если символ представляет собой букву или цифру, его можно идентифицировать с помощью простой записи, даже если он является частью строки символов. В примере с числом «2» команда найдет не только одну цифру «2», но и строки символов, такие как «1234», «y2k» или «номер2».
В grep есть символы, которые выполняют функцию поиска. Например, знак доллара «$» соответствует концу строки. Эти символы можно искать отдельно с помощью специальной команды grep. Для этого перед символом ставится обратная косая черта. Поэтому, если вы ищете точку «.» в качестве знака препинания в файле, вы можете сделать это с помощью комбинации » \. «.
Списки в grep
Списки различных символов, так называемые » выражения в скобках «, также можно фильтровать с помощью grep. Чтобы список символов, которые будут включены в поисковый запрос, используйте две квадратные скобки «[]». Например, если вы хотите найти все буквы «е» в верхнем или нижнем регистре, используйте опцию поиска «[Ee]». Сам по себе этот ввод соответствует любой букве «е». Однако, если вы объедините их, вы также сможете отфильтровать целые слова или фрагменты текста с заглавной или маленькой буквы «е». Например, если вы введете «[Ee]nde» в grep, grep найдет не только термин «конец», но и фрагменты текста с маленькой буквой «е», например «to end».
grep также позволяет исключить определенные цифры из списка при поиске и искать только те, которые не были исключены ранее. Для этого перед именем ставится «^». Например, «^Ee» соответствует всем символам, кроме «E» и «e».
С помощью некоторых предопределенных списков grep сохраняет ваши рабочие этапы в Linux. Каждый из этих предопределенных списков заключен в дополнительные квадратные скобки, т.е. [[:examplelist:]]. Предопределенные списки:
- [:alnum:] : Содержит все цифры [:digit:] и буквы [:alpha:]
- [:alpha:] : Содержит все буквы [:upper:] и [:lower:]
- [:blank:] : включает все пробелы, разделенные пробелом или табуляцией.
- [:cntrl:] : содержит все управляющие символы.
- [:digit:] : Содержит все цифры от 0 до 9.
- [:graph:] : Содержит все графические символы [:alnum:] и [:punct:]
- [:lower:] : включает все строчные буквы.
- [:print:] : содержит все печатаемые символы [:alnum:], [:punct:] и [:space:]
- [:punct:] : содержит все знаки препинания и специальные символы.
- [:space:] : включает любой символ, который создает пробел, например пробел или новую строку.
- [:upper:] : включает все заглавные буквы.
Примеры полезных команд grep
При правильном использовании команды grep помогают выполнять поиск в больших файлах. Существует множество параметров, которые вы можете использовать для уточнения поиска, чтобы grep действительно идентифицировал только те символы или строки, которые вам нужны. Они отмечены знаком «-». Вот несколько полезных примеров:
- -c : с параметрами -c или -count команда grep не ищет заданный шаблон поиска, а вместо этого сообщает, в скольких строках был найден шаблон поиска. Команда grep «grep -c „test“ example.txt» подсчитывает, в скольких строках встречается «test», и показывает вам это число.
- -l : если вы хотите узнать, в каком файле был найден определенный поисковый запрос, используйте опцию «-l» (маленькая «L»). С помощью команды grep «grep -l „test“ \*.txt» вы запрашиваете все файлы, содержащие термин или строку символов «test».
- -i : С -i вы игнорируете регистр при поиске. Таким образом, «grep -i „test“ example.txt» возвращает все строки, содержащие как «test», так и «test».
grep имеет три других варианта
Помимо обычной версии grep, есть еще три варианта. egrep очень похож на grep -E и рассматривает указанные шаблоны как расширенные регулярные выражения. fgrep в основном эквивалентен grep -F и специально ищет параметры шаблона. Символы, читаемые другими командами как часть регулярного выражения, интерпретируются fgrep в их буквальном значении без дополнительной функции. Примеры включают «$», «*» или «\». rgrep эквивалентен grep -r и рекурсивно ищет все каталоги, включая подкаталоги.








