Чтобы найти строку в каталоге с помощью сценария оболочки, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование команды grep
grep -r "your_string" /path/to/directory
Эта команда рекурсивно ищет указанную строку («ваша_строка») во всех файлах в каталоге, указанном в параметре «/path/to/directory».
Метод 2: использование команды find с помощью grep
find /path/to/directory -type f -exec grep -l "your_string" {} +
Эта команда использует команду find для поиска всех файлов в указанном каталоге, а затем выполняет команду grep для каждого файла для поиска строки. Опция “-l” в grep печатает только имена файлов, содержащие данную строку.
Метод 3: использование команды find с xargs и grep
find /path/to/directory -type f -print0 | xargs -0 grep -l "your_string"
Эта команда аналогична предыдущей, но использует команду xargs для передачи списка файлов в grep. Параметр «-print0» в find и параметр «-0» в xargs гарантируют правильную обработку имен файлов с пробелами или специальными символами.
Метод 4. Использование ack (инструмента, оптимизированного для поиска кода)
ack "your_string" /path/to/directory
Если у вас установлен ack, вы можете использовать эту команду для поиска строки в файлах кода в указанном каталоге. Ack автоматически исключает определенные типы файлов и каталогов, что делает его удобным для поиска по кодовым базам.