К содержимому
Claude Code с 0:полный курс
Уровень 3 · Поиск и потоки 4 мин Проверено автором · 2 июл. 2026 г.

Мини-проект: найди и собери

Связка find и grep: find находит нужные файлы, grep вытаскивает из них строки с ошибками. Практика поиска.

Уровень 3 · 0 / 10 уроков0%

Вот ты и добрался до финала третьего уровня. Пора собрать всё, чему научился, в одну рабочую связку — ту самую, которой пользуются каждый день: найти нужные файлы, а потом вытащить из них важные строки.

Шаг 1 — найти логи

Представь, что в проекте куча файлов, но тебя интересуют только логи — файлы с расширением .log. Находим их маской:

find . -name "*.log"

find обойдёт всё дерево и покажет app.log и old.log. Теперь ты знаешь, где они лежат.

Шаг 2 — вытащить ошибки

Логи бывают огромными, и читать их целиком — мука. Нас интересуют только ошибки — строки со словом ERROR. Достаём их через grep:

grep ERROR logs/app.log

grep пройдёт по файлу и выведет только строки, где встречается ERROR — про диск и про сеть. Всё лишнее (OK) останется за бортом.

Совет

Это и есть базовый рабочий ритм в терминале: find отвечает на вопрос «где?», а grep — на вопрос «что внутри?». Связка из двух простых команд решает задачу, на которую глазами ушли бы минуты.

Попробуй

Сделай оба шага по очереди:

  1. find . -name "*.log" — найди все логи;
  2. grep ERROR logs/app.log — покажи строки с ошибками.

Поздравляю — уровень 3 пройден!

Ты освоил настоящий поиск: умеешь читать файлы, фильтровать строки через grep, описывать наборы файлов масками * и ? и обходить целые деревья папок командой find. Это уже не «гость в терминале» — это уверенные навыки.

Что дальше? На следующем уровне мы перейдём от поиска к установке инструментов: научимся ставить программы из терминала и доберёмся до Node.js — без него не обходится ни один современный проект. Двигаемся дальше.

Мини-проверка

Как разделены роли команд в связке из этого мини-проекта?

Проверь себя

Отвечено 0/3
Режим:

Какой шаг идёт первым в этой связке?

Что делает `grep ERROR logs/app.log`?

Зачем маска `*.log` в команде find?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Задание

Сначала найди все .log файлы: find . -name "*.log". Потом вытащи ошибки: grep ERROR logs/app.log.

Tab дополнить · прошлые · Ctrl+L очистить · help команды

  • Не выполнено: Найди .log файлы
  • Не выполнено: Найди ошибки
  • Не выполнено: Ошибки видны

Вопросы и ответы по уроку

Какой шаг идёт первым в этой связке?

Логика простая: сначала `find` показывает, где лежат логи, а потом `grep` читает их содержимое.

Что делает `grep ERROR logs/app.log`?

`grep` выводит строки, в которых встречается искомое слово — здесь это ERROR.

Зачем маска `*.log` в команде find?

`*.log` — «любое имя с расширением .log». Так find покажет именно логи и ничего лишнего.

Как разделены роли команд в связке из этого мини-проекта?

Именно так: find находит нужные файлы по маске, а grep вытаскивает из них важные строки. Вместе две простые команды закрывают задачу поиска целиком.

Почитать по теме в блоге

Листай уроки клавишами · поиск по ⌘K