Обзор
fgrep находит фиксированные строки в указанных файлах или стандартном вводе и выводит соответствующие строки. Поскольку метасимволы регулярных выражений обрабатываются как обычные символы, эта команда полезна при точном поиске строк, содержащих специальные символы.
Основные характеристики
- Не поддерживает регулярные выражения (только поиск по фиксированной строке)
- Функционально эквивалентна grep -F
- Не требует экранирования специальных символов
- Преимущество в производительности при поиске литеральных строк
Основные опции
fgrep разделяет большинство опций с grep, но опции, связанные с регулярными выражениями, не применяются.
Условия поиска
Формат вывода
Сгенерированная команда:
Комбинируйте команды.
Описание:
`fgrep` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Различные примеры поиска с использованием fgrep.
Базовый поиск строки
fgrep "error message" log.txt
Поиск строки 'error message' в файле log.txt.
Поиск без учета регистра
fgrep -i "warning" report.log
Поиск строки 'warning' в файле report.log без учета регистра.
Вывод строк, не соответствующих шаблону
fgrep -v "success" access.log
Вывод строк из файла access.log, не содержащих строку 'success'.
Рекурсивный поиск в подкаталогах и вывод только имен файлов
fgrep -rl "TODO" .
Вывод имен файлов, содержащих строку 'TODO', в текущем каталоге и его подкаталогах.
Поиск по словам
fgrep -w "fail" status.txt
Поиск строк из файла status.txt, содержащих слово 'fail' целиком.
Поиск с выводом номеров строк
fgrep -n "config" setup.ini
Поиск строки 'config' в файле setup.ini с выводом номеров соответствующих строк.
Советы и замечания
fgrep может быть эффективнее grep в определенных ситуациях.
Советы по использованию fgrep
- Производительность: Отсутствие накладных расходов на разбор регулярных выражений делает его одним из самых быстрых для поиска литеральных строк, наряду с grep -F.
- Специальные символы: Метасимволы регулярных выражений (например, ., *, ?, ^, $, [, ]) обрабатываются как обычные символы, поэтому их можно искать без экранирования.
- grep -F: fgrep функционально эквивалентен grep -F. На большинстве систем fgrep является символической ссылкой на grep -F. Поэтому использование любой из этих команд допустимо.