Основные опции
Используйте различные опции команды `grep` в комбинации для поиска нужного текста.
1. Базовый поиск
2. Опции поиска
3. Опции вывода
4. Рекурсивный поиск
Сгенерированная команда:
Комбинируйте команды.
Описание:
`grep` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Основы регулярных выражений
Команда `grep` поддерживает регулярные выражения для мощного текстового поиска. Используя регулярные выражения, вы можете легко находить сложные шаблоны.
| Символ | Описание | Пример |
|---|---|---|
| . | Любой одиночный символ (кроме новой строки) | `a.b` (acb, amb и т. д.) |
| * | Предыдущий символ повторяется 0 или более раз | `ab*c` (ac, abc, abbc и т. д.) |
| + | Предыдущий символ повторяется 1 или более раз | `ab+c` (abc, abbc и т. д.) |
| ? | Предыдущий символ встречается 0 или 1 раз | `ab?c` (ac, abc) |
| ^ | Начало строки | `^start` (строки, начинающиеся со 'start') |
| $ | Конец строки | `end$` (строки, заканчивающиеся на 'end') |
| [abc] | Один из символов в скобках | `[aeiou]` (гласные) |
| [a-z] | Один из символов в указанном диапазоне | `[0-9]` (цифры) |
| [^abc] | Любой символ, кроме указанных в скобках | `[^0-9]` (нецифровой символ) |
| \b | Граница слова | `\bword\b` (точно слово 'word') |
| | | Оператор ИЛИ (один из двух шаблонов) | `cat|dog` ('cat' или 'dog') |
Базовые регулярные выражения (BRE) и расширенные регулярные выражения (ERE)
`grep` по умолчанию использует BRE. Чтобы использовать такие символы, как `+`, `?`, `|`, `(`, `)` со специальным значением, необходимо экранировать их обратной косой чертой (`\`). Опция `-E` включает режим ERE, позволяя использовать эти символы без экранирования. Опция `-P` предоставляет более мощные PCRE.
Примеры использования
Попрактикуйтесь в поиске текста с помощью практических примеров использования команды `grep`.
Поиск 'error' в файле журнала
grep 'error' /var/log/syslog
Выводит все строки, содержащие строку 'error' в файле `syslog`.
Поиск 'failed' без учета регистра и вывод номеров строк
grep -in 'failed' /var/log/auth.log
Ищет 'failed' без учета регистра и отображает результаты с номерами строк.
Вывод только строк без определенного шаблона
grep -v '^#' /etc/nginx/nginx.conf
Выводит строки из файла `nginx.conf`, исключая те, которые начинаются с символа комментария (#).
Поиск 'server_name' в файлах '.conf' включая подкаталоги
grep -r 'server_name' *.conf
Рекурсивно ищет шаблон 'server_name' в файлах с расширением '.conf' в текущем каталоге и всех его подкаталогах.
Поиск конкретного процесса (комбинация ps и pipe)
ps aux | grep apache2
Фильтрует вывод команды `ps aux` для отображения только процессов, связанных с 'apache2'.
Поиск 'warning' или 'critical' в нескольких файлах
grep -E 'warning|critical' /var/log/syslog /var/log/kern.log
Использует оператор ИЛИ (|) в регулярном выражении для поиска сообщений 'warning' или 'critical' в нескольких файлах журнала.