Ищет текст по шаблону в файлах и потоках. Она может обрабатывать файл или данные, полученные от другой команды через конвейер. Например, grep -rn "TODO" src/ — все TODO в исходниках, с номерами строк.
grep [ОПЦИИ] ШАБЛОН [ФАЙЛ...]
| -i | без учёта регистра |
| -r | рекурсивно по всем файлам каталога |
| -n | показывать номера строк |
| -v | инверсия: строки БЕЗ совпадения |
| -l | только имена файлов с совпадениями |
| -c | посчитать число совпадений |
| -C N | по N строк контекста вокруг совпадения |
$ grep -rn "TODO" src/После запуска · пошаговоЧто произойдёт: все TODO в исходниках, с номерами строк. Что появится в терминале: src/app.js:12:// TODO: добавить кэширование src/db.js:44:// TODO: обработать повторный запрос Как понять, что всё получилось: Команда завершилась без Error/Failed, и в выводе есть ожидаемые данные. Важно: Имена, адреса, даты, размеры и номера версий на вашей системе будут другими — это нормально.
$ ip addr | grep inetПосле запуска · пошаговоЧто произойдёт:
только строки с адресами из вывода ip.
Что появится в терминале:
inet 127.0.0.1/8 scope host lo
inet 192.168.1.42/24 brd 192.168.1.255 scope global eth0
Как понять, что всё получилось:
Команда завершилась без Error/Failed, и в выводе есть ожидаемые данные.
Важно:
Имена, адреса, даты, размеры и номера версий на вашей системе будут другими — это нормально.$ grep -c " 500 " access.logПосле запуска · пошаговоЧто произойдёт: сколько внутренних ошибок в логе. Что появится в терминале: 7 Как понять, что всё получилось: Команда завершилась без Error/Failed, и в выводе есть ожидаемые данные. Важно: Имена, адреса, даты, размеры и номера версий на вашей системе будут другими — это нормально.