К содержимому
Claude Code с 0:полный курс
ТерминалАвтор: Михаил Кузьмицкий

grep, find и пайпы: ищем в файлах как профи

Коротко

Где-то в проекте есть нужная строчка или файл, а вы листаете папки руками. Три команды терминала найдут всё за секунду.

Знакомо: вы точно помните, что в каком-то файле было слово «ошибка», но в каком именно — уже нет. Можно открывать файлы один за другим и читать глазами. А можно спросить терминал.

В этом и сила командной строки: вместо того чтобы искать вручную, вы говорите, что ищете, и компьютер делает работу за вас. Разберём три инструмента, которые закрывают почти любой поиск: grep, find и пайп |.

grep, find и пайпы в терминале

grep — найти текст внутри файлов

grep ищет строки, в которых встречается нужный текст. Пишете слово, потом файл — и получаете все строки с этим словом:

grep ошибка log.txt

В ответ терминал покажет каждую строку файла log.txt, где есть слово «ошибка». Остальное он пропустит. Это в разы быстрее, чем читать файл целиком.

find — найти сами файлы по имени

grep смотрит внутрь файлов, а find ищет сами файлы — по имени. Например, найти все текстовые файлы в текущей папке и вложенных:

find . -name "*.txt"
  • Точка . — где искать (здесь: текущая папка и всё внутри неё).
  • -name "*.txt" — что искать: имена, заканчивающиеся на .txt.
  • Звёздочка * — «любые символы», то есть подойдёт любое имя с таким окончанием.

Пайп | — соединить команды в цепочку

Вертикальная черта | (пайп) берёт результат одной команды и передаёт его другой — как труба между ними. Например, вывести содержимое файла и сразу отфильтровать только строки с «ERROR»:

cat log.txt | grep ERROR

Здесь cat log.txt достаёт содержимое файла, а grep ERROR оставляет от него только нужные строки. Так из мелких команд собираются мощные цепочки.

Совет

В grep есть удобные флаги: -i — искать без учёта регистра (найдёт и «Ошибка», и «ОШИБКА»), -n — показать номера строк, -r — искать сразу по всем файлам в папке. Их можно сочетать. Подробный разбор такой команды — на странице grep -rni.

А если не хочется запоминать флаги?

Команд и флагов много, и держать всё в голове необязательно. Claude Code умеет запускать команды в терминале сам: вы пишете обычными словами «найди все упоминания слова timeout в логах», а он подбирает нужный grep и показывает результат. Но понимать, что происходит под капотом, всё равно полезно — тогда вы не зависите от подсказок и проверяете, что инструмент делает именно то, что нужно.

Эти три штуки — grep, find и | — закрывают большую часть повседневного поиска. Попробуйте их на своих файлах, и листать папки руками вы больше не захотите.

Освоить терминал с нуля

Читайте также

Попробуй на практике

Бесплатные интерактивные курсы по теме — прямо в браузере, с нуля.