Работа с текстом: команда grep¶
Команда grep позволяет искать текстовые шаблоны в файлах. Это мощный инструмент для анализа логов, поиска нужных строк в скриптах или конфигурациях, и фильтрации данных.
Базовое использование¶
Чтобы найти шаблон в файле, используйте команду:
grep 'шаблон' имя_файла
Пример: поиск строки “pi” в файле:
grep 'pi' /etc/passwd
Note
Вывод покажет все строки, в которых встречается слово pi — например, строка пользователя:
pi:x:1000:1000:,,,:/home/pi:/bin/bash
Полезные опции¶
grep поддерживает множество опций. Вот самые популярные:
-i— игнорировать регистр (найдёт иPi, иpi)-r— рекурсивный поиск по всем файлам в папке-v— выводить строки, не содержащие шаблон
Игнорирование регистра¶
grep -i 'bash' /etc/passwd
Найдёт строки с любым регистром (например, /bin/Bash или /bin/bash).
Рекурсивный поиск в папке¶
grep -r 'password' /home/pi/projects/
Поиск строки password во всех файлах и подпапках в указанной директории.
Исключение по шаблону (обратное совпадение)¶
grep -v '127.0.0.1' /etc/hosts
Покажет все строки, не содержащие IP-адрес 127.0.0.1.
Использование регулярных выражений¶
grep поддерживает регулярные выражения — для сложных шаблонов.
Пример: найти строки, начинающиеся с буквы:
grep '^[A-Za-z]' myfile.txt
Пример: найти все строки, в которых указаны переменные окружения (начинаются с $):
grep '\$' script.sh
Поиск ключевых настроек¶
Часто нужно искать настройки в конфигурационных файлах:
grep 'dtoverlay=' /boot/config.txt
Или:
grep -i 'enable_uart' /boot/config.txt
Поиск логов по ключевому слову¶
grep 'error' /var/log/syslog
grep -i 'fail' /var/log/auth.log
Отличный способ отлавливать ошибки и неудачные попытки входа.
Заключение¶
Команда grep — это швейцарский нож для поиска текста в Linux. С её помощью вы быстро найдёте нужные строки даже в огромных логах, скриптах или конфигурациях.
📌 Не забывайте: grep можно сочетать с другими командами через пайпы (|):
dmesg | grep -i usb
Note
Это выведет все строки из dmesg, содержащие usb (в любом регистре).
🎓 Эта команда — основа для работы с текстами в Linux. В следующих разделах мы изучим ещё больше инструментов обработки текста.