Командная строка: Как рекурсивно найти все вхождения текста «A24P» во всех файлах текущей директории и поддиректорий?
Для рекурсивного поиска всех вхождений текста «A24P» во всех файлах текущей директории и её поддиректорий существует несколько способов в зависимости от операционной системы и используемой командной оболочки.
**Linux / macOS (Bash, Zsh)**
Самый простой и распространённый способ — использовать утилиту `grep` с флагом `-r` (рекурсивный поиск):
grep -r «A24P» .
Здесь:
— `-r` — рекурсивный обход всех поддиректорий;
— `»A24P»` — искомая строка;
— `.` — текущая директория.
Если нужно также видеть номера строк, добавьте флаг `-n`:
grep -rn «A24P» .
Для поиска без учёта регистра (например, найдёт и «a24p», и «A24P») используйте `-i`:
grep -ri «A24P» .
Чтобы вывести только имена файлов, содержащих совпадение (без самих строк), используйте флаг `-l`:
grep -rl «A24P» .
Если нужно подсчитать количество вхождений в каждом файле:
grep -rc «A24P» .
Для поиска только в файлах с определённым расширением, например `.txt`:
grep -r «A24P» —include=»*.txt» .
Можно также использовать `find` в связке с `grep`:
find . -type f -exec grep -l «A24P» {} +
**Windows (CMD)**
В командной строке Windows используется утилита `findstr` с флагом `/S` (рекурсивный поиск) и `/R` (поддержка регулярных выражений при необходимости):
findstr /S /M «A24P» *.*
Здесь:
— `/S` — поиск в текущей директории и всех поддиректориях;
— `/M` — выводить только имена файлов с совпадениями;
— `*.*` — все файлы.
Чтобы вывести строки с совпадениями и номера строк:
findstr /S /N «A24P» *.*
**Windows (PowerShell)**
В PowerShell можно использовать командлет `Select-String`:
Get-ChildItem -Recurse | Select-String «A24P»
Эта команда рекурсивно обходит все файлы и выводит строки с вхождениями текста «A24P».
**Итог**
Наиболее универсальный и мощный инструмент для Unix-систем — `grep -r`. Для Windows в CMD подойдёт `findstr /S`, а в PowerShell — `Select-String`. Выбор команды зависит от вашей операционной системы и требований к выводу результатов.
