Текстовые документы могут содержать огромное количество информации. По мере увеличения размера этих файлов становиться все труднее искать в них конкретное слово или строку текста. К счастью, существует инструмент командной строки grep
, который поможет пользователям быстро и эффективно отыскать определенные шаблоны в документах.
В этой статье мы расскажем, как использовать команду grep
для поиска строк или слов сразу во всех файлах указанной директории.
Содержание:
Что такое команда grep
Команда grep
— это инструмент поиска текста, широко используемый в операционной системе Linux. Она позволяет искать заданные шаблоны или строки текста в одном / нескольких файлах, или каталогах.
Основной синтаксис команды выглядит следующим образом:
Здесь:
[options]
— необязательные опции, которые изменяют поведениеgrep
. Они предоставляют дополнительные возможности и контроль над процессом поиска.pattern
— шаблон или строка текста, которые нужно найти.[file...]
— необязательный аргумент, указывающий один или несколько файлов, в которых должен быть выполнен поиск. Если файл не указан, команда анализирует текст из стандартного ввода.
Также у инструмента grep
есть много параметров. Ниже приведены, те которые будем использовать в этой статье:
-i
,--ignore-case
— игнорирует регистр, позволяя осуществлять поиск без его учета;-r
,-R
или--recursive
— осуществляет рекурсивный поиск шаблона в каталогах и их подкаталогах;-n
,--line-number
— указывает номер строки, в которой был найден шаблон;-w
,--word-regexp
— выводит на экран только те строки, в которых искомый шаблон является целым словом (а не частью другого слова);-e
,--regexp
— используется для указания шаблона или выражения для поиска.
Поиск шаблона во всех файлах директории
Итак, приступим к поиску слов в файлах каталога. Для этого будем использовать следующую команду:
Допустим, что нам нужно во всех документах текущей директории найти слово keys
. Чтобы выполнить эту задачу, напишем в командной строке:
Важно: для поиска в текущем рабочем каталоге, мы использовали символ .
(точку).
Если в Вашей папке есть документы, требующие права доступа root
— дополнительно введите sudo
с предыдущей командой:
В прошлом примере инструмент grep
искал слова точно по шаблону, учитывая регистр. Однако, если Вам нужно выполнять поиск без его учета, добавьте параметр -i
:
На скриншоте видно, что количество совпадений с шаблоном увеличилось.
Читайте также: 11 расширенных команд grep для классов символов в Linux.
Вы также можете дополнительно вывести на экран порядковый номер строки, в которой было найдено требуемое слово. Чтобы отобразить эту информацию, включите опцию -n
:
Как мы сказали ранее, по умолчанию grep
будет искать шаблон во всех файлах директории. Однако, Вы можете задать параметр --include
, чтобы утилита осуществляла поиск только в файлах определенного формата. К примеру, найдем слово keys
в документах с расширением *.txt
:
Вы можете усложнить поиск и добавить дополнительный шаблон. Допустим, что нам помимо keys
нужно еще найти слово conveyed
:
Важно: для успешного поиска нужно обязательно использовать опцию -e
перед каждым новым шаблоном.
Выводы
В заключение следует отметить, что команда grep
— это надежный и эффективный инструмент для поиска определенных строк или слов в файлах и каталогах. Ее гибкие возможности, такие как рекурсивный поиск, поиск с учетом спецификации шаблонов, позволяют пользователям с легкостью выполнять целенаправленный поиск. Освоив инструмент grep
, пользователи смогут сэкономить время, требуемое для обработки файлов и текстов.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.