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

Канонический URL: https://zero2claude.ru/blog/grep-find-pipes
Дата: 2026-07-07
Теги: терминал, команды

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

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

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

<Cover src="/blog/grep-find-pipes.jpg" alt="grep, find и пайпы в терминале" />

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

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

```bash
grep ошибка log.txt
```

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

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

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

```bash
find . -name "*.txt"
```

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

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

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

```bash
cat log.txt | grep ERROR
```

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

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

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

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

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

 [Освоить терминал с нуля](/learn)
