Основные опции
Используйте различные опции команды `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' в нескольких файлах журнала.