Про
grep
знают если не все, то многие читатели Хабра, однако его многочисленных родственников знают немногие.
Давайте узнаем, как можно грепать все, что таит в себе хоть крупицу текста.
pgrep
Команда
pgrep
грепает список исполняемых процессов.
С ключом
-a
, команда также выдаст всю командную строку.
Если правильно комбинировать
ps
и pgrep
, то результат будет пожалуй удобнее, чем ps -ef |grep process_name
, так как не содержит саму команду grep
.zipgrep, zfgrep, bzfgrep, xzfgrep
Можно искать ключевое слово, паттерн напрямую из архива с помощью этих команд.
Утилиты поддерживают расширенные регулярные выражения и имеют свой аналог
egrep
.Fixed Strings | Basic RegExps | Extended RegExps |
---|---|---|
zfgrep | zgrep | zegrep |
bzfgrep | bzgrep | bzegrep |
xzfgrep | xzgrep | xzegrep |
Каким пакетам они принадлежат?
Сравниваем с
grep
способность парсить расширенные регулярки и радуемся результату.pdfgrep
Программа идет с одноименным пакетом.
Команда парсит pdf файлы и делает все то, что положено
grep
.Pdfgrep
не поддерживает расширенные регулярные выражения, тем не менее это очень полезная программа. Я довольно часто открываю pdf-ки и ищу в них текст, пока не вспомню в какой книге было то, что мне нужно и так теряю уйму времени. Теперь буду знать.dgrep
Дебианщикам может быть знаком
dgrep
, который идет с пакетом debian goodies. Команда вызывается так же как и обычный grep
, только вместо файла указывается название пакета.
Fixed Strings | Basic RegExps | Extended RegExps |
---|---|---|
dfgrep | dgrep | degrep |
- | dzgrep | - |
Верхние три ищут в текстовых файлах, а
dzgrep
— в архивных.msggrep, mboxgrep
Это совсем уже узко специализированная штуковина, чтобы парсить каталоги локализации. Идет в комплекте с пакетом gettext. Программа не из разряда пользовательских, но если очень нужно, можно запустить с командной строки.
И получить такой вывод на экран
Следующий экспонат — парсер почтовых ящиков mboxgrep. Проект так и не взлетел, его разработка прекращена. По идее он должен был находить паттерны в письмах и обрабатывать вывод так как будто это отдельные файлы. Однако, для начала он эти паттерны должен уметь находить.
А он не находит.
Что странно, системные вызовы
read
все время одни и те же, вне зависимости от поиска.
Любопытно было бы узнать, завелась ли данная программа успешно у кого-нибудь?
Ну ладно, мы увлеклись, а греп семейство еще не инвентаризировано полностью.
Ну ладно, мы увлеклись, а греп семейство еще не инвентаризировано полностью.
ssgrep
Нужно установить пакет Gnumeric. Умеет шерстить электронные таблицы, в том числе проприетарный Excel формат. Ругается на него, но делает.
Расширенные регулярные выражения не поддерживает. Вполне полезная штука, рекомендую.
ngrep
Еще один заброшенный проект на SourceForge. Программа представляет из-себя гибрид
tcpdump
и grep
, причем к первому гораздо ближе, чем ко второму.
Наблюдение за сетевым трафиком по порту
syslog
и ключевому слову.
Наблюдение за сетевым трафиком по порту
ftp
и ключевым словам без учета регистра, сравнивать слова целиком.
По-строчный вывод
http
трафика.
А еще есть киллер-фича. Можно задать hex строку, которой
ngrep
сопоставляет бинарные данные пакета. Например, можно задать сигнатуру завирусованной гифки, чтобы затем настроить файрвол на раннее обнаружение.
Жаль, что разработка проекта прекращена, может в итоге получиться вполне годный самоворо-паровозо-вертолет парсер и анализатор сетевого трафика.
deepgrep
Под конец можно помянуть не-юниксвейные агрегаты поиска, такие как
deepgrep
от KDE strigi-utils.
Программа умеет шукать искать в файлах формата:
tar
ar
/deb
rpm
(но неcpio
)gzip/gz
bzip2/bz2
zip
, а значит и jar/war а также документы OpenOffice.org/LibreOffice- MIME сообщения (т.е. прикрепленные файлы в емайле)
Умеет искать в архивах, вложенных друг в друга.
Из недостатков.
- Практически отсутствуют опции командной строки.
- Плохо документирована.
- Код возврата никак не связан с результатом поиска.
- Отсутствует поддержка сжатия с использование LZMA алгоритма:
lzma, xz, lzip, 7z
а такжеlzop, rzip, cab. cpio, xar, rar, .Z
форматы.
Комментариев нет:
Отправить комментарий