Поиск текста с использованием grep

grep — утилита для поиска указанного текста в файлах, именах файлов и т.д. из командной строки.

Можно искать используя grep даже например в результатах выполнения какой-то команды:

КОМАНДА | grep ТЕКСТ

Можно посчитать количество строк где встречается указанный текст:

grep -c ТЕКСТ ФАЙЛ
grep ТЕКСТ ФАЙЛ | wc -l

Для поиска и отображения строк с указанным текстом выполним:

grep ТЕКСТ ФАЙЛ

Поиск во всех фалах указанной директории:

grep ТЕКСТ /ДИРЕКТОРИЯ/*
grep -r ТЕКСТ /ДИРЕКТОРИЯ/*

Искать только целое указанное слово:

grep -w СЛОВО ФАЙЛ

Отобразить строки где встречаются указанные слова:

grep -E "(СЛОВО|СЛОВО|СЛОВО)" ФАЙЛ

Отобразить строки где указанные слова встречаются несколько раз:

grep -E "(СЛОВО|СЛОВО).*\1"

Отобразить также строки после искомой, например 5 строк:

grep -A 5 СЛОВО ФАЙЛ

Или строки перед искомой:

grep -B 5 СЛОВО ФАЙЛ

Показать строки где встречается СЛОВО1,СЛОВО2,СЛОВО3:

grep СЛОВО[1-3] ФАЙЛ

Показать все строки где встречается IP-адрес:

grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" ФАЙЛ

Показать строки где встречаются заглавные буквы:

grep "[[:upper:]]" ФАЙЛ

Показать строки где встречается указанное слово с табуляцией по обе стороны:

grep "[[:blank:]]СЛОВО[[:blank:]]" ФАЙЛ
grep " СЛОВО " ФАЙЛ

Найти и заменить текст на другой можно командой:

grep 'текст_который_ищем' -P -R -I -l  * | xargs sed -i 's/текст_который_ищем/текст_на_который_заменяем/g'

Опишу некоторые опции запуска:
-b (отображение номера блока в котором был найден фрагмент, блоки нумеруются с 0)
-c (отображение только количества строк в которых был найден фрагмент)
-r (искать также в подкаталогах)
-n (отображает номер строки)
-h (скрывает имена файлов перед найденными фрагментами, когда поиск выполняется по нескольким файлам)
-l (отображение только имен файлов где встречается фрагмент)
-i (игнорирование регистра символов, то есть большие и маленькие буквы равны при поиске)
-s (скрывает сообщения о несуществующих или недоступных файлах)
-v (отображает все строки кроме указанного образца)

Подписаться на IT Blog (RU) по Email
Subscribe to IT Blog (EN) by Email

Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

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