[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-rabota-v-cli-bash-kak-ispolzovat-grep-dlya-poiska-teksta":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":21,"progress":22,"seo":23},155,"kak-ispolzovat-grep-dlya-poiska-teksta",4,"rabota-v-cli-bash","Работа в CLI (Bash)","💻","Как использовать grep для поиска текста?","**`grep`** (Global Regular Expression Print) — инструмент для поиска строк, соответствующих шаблону, в файлах или потоке ввода.\n\n### Базовое использование\n\n```bash\ngrep \"pattern\" file.txt           # Найти строки с \"pattern\"\ngrep \"ERROR\" application.log      # Найти ошибки в логе\n```\n\n### Основные флаги\n\n| Флаг | Назначение | Пример |\n|---|---|---|\n| `-i` | Без учёта регистра | `grep -i \"error\" log.txt` |\n| `-r` | Рекурсивный поиск | `grep -r \"TODO\" src\u002F` |\n| `-n` | Показать номера строк | `grep -n \"Exception\" app.log` |\n| `-v` | Инвертировать (строки БЕЗ паттерна) | `grep -v \"DEBUG\" app.log` |\n| `-c` | Подсчитать количество совпадений | `grep -c \"ERROR\" app.log` |\n| `-l` | Только имена файлов с совпадениями | `grep -l \"password\" *.yml` |\n| `-L` | Файлы БЕЗ совпадений | `grep -L \"password\" *.yml` |\n| `-w` | Целое слово | `grep -w \"port\" config.yml` |\n| `-A N` | N строк ПОСЛЕ совпадения | `grep -A 3 \"Exception\" app.log` |\n| `-B N` | N строк ДО совпадения | `grep -B 2 \"Exception\" app.log` |\n| `-C N` | N строк до И после (контекст) | `grep -C 2 \"Exception\" app.log` |\n| `-E` | Расширенные регулярные выражения | `grep -E \"ERROR\\|WARN\" app.log` |\n| `-P` | Perl-совместимые регулярные выражения | `grep -P \"\\d{3}-\\d{2}\" file.txt` |\n\n### Регулярные выражения в grep\n\n```bash\ngrep \"^Start\" file.txt            # Строки, начинающиеся с \"Start\"\ngrep \"end$\" file.txt              # Строки, заканчивающиеся на \"end\"\ngrep \"^$\" file.txt                # Пустые строки\ngrep \"[0-9]\\{3\\}\" file.txt       # Три цифры подряд (BRE)\ngrep -E \"[0-9]{3}\" file.txt      # Три цифры подряд (ERE — проще синтаксис)\ngrep -E \"https?:\u002F\u002F\" file.txt     # http:\u002F\u002F или https:\u002F\u002F\ngrep -E \"\\b[A-Z]{2,}\\b\" file.txt # Слова из двух и более заглавных букв\n```\n\n### Практические примеры для Java-разработчика\n\n\u003Cdetails>\n\u003Csummary>Примеры поиска в Java-проекте\u003C\u002Fsummary>\n\n```bash\n# Найти все классы, реализующие интерфейс\ngrep -rn \"implements Serializable\" src\u002F\n\n# Найти все Spring-аннотации\ngrep -rn \"@Service\\|@Repository\\|@Controller\\|@Component\" src\u002F\n\n# Поиск в логах с контекстом\ngrep -C 5 \"OutOfMemoryError\" \u002Fvar\u002Flog\u002Fapp\u002Fapplication.log\n\n# Подсчитать количество ошибок по типам\ngrep -oE \"[A-Za-z]+Exception\" app.log | sort | uniq -c | sort -rn\n\n# Найти строки с IP-адресами\ngrep -E \"\\b([0-9]{1,3}\\.){3}[0-9]{1,3}\\b\" access.log\n\n# Исключить директории\ngrep -rn --exclude-dir={target,.git,.idea} \"TODO\" .\n\n# Искать только в Java-файлах\ngrep -rn --include=\"*.java\" \"deprecated\" src\u002F\n```\n\n\u003C\u002Fdetails>\n\n> **На собеседовании:** интервьюер хочет увидеть практическое использование `-r`, `-n`, `-C`, `--include`\u002F`--exclude-dir`. Частая ошибка — использовать `grep -r` без `--exclude-dir`, что приводит к поиску в `.git`, `target` и других нерелевантных директориях.","","junior",[15,16,17,18,19,20],"cli","поиск текста","grep","linux","bash","регулярные выражения",[],null,{"title":24,"description":25,"ogTitle":26,"ogDescription":27,"keywords":28,"schemaAnswer":35,"featuredSnippetReady":36},"Команда grep в Linux: поиск текста с примерами — Gymterview","Как использовать grep для поиска текста в файлах Linux: ключи -i, -r, -n, -l, -v, -c, регулярные выражения, egrep и практические примеры.","Команда grep — поиск текста в файлах Linux | Gymterview","Полный разбор команды grep: поиск текста по шаблону, регулярные выражения, рекурсивный поиск, ключи -i, -r, -n, -l, -v.",[17,29,30,31,32,33,34],"поиск текста linux","grep команда","grep -r","grep регулярные выражения","egrep","grep примеры","Grep ищет строки, соответствующие шаблону, в файлах. Основные ключи: -i — без учёта регистра, -r — рекурсивный поиск, -n — номера строк, -l — только имена файлов, -v — инверсия, -c — количество совпадений. Поддерживает регулярные выражения (egrep\u002Fgrep -E).",true]