4.1.3.1 Перенаправление вывода на grep
Команда grep предоставляет мощные инструменты фильтрации текстового потока для Linux (Unix) систем. Сочетание rpm -qa и grep представляет собой настоящую поисковую машину. Например, задание шаблона "py" в качестве аргумента grep приведет к такому выводу:
# rpm -qa | grep py
python-2.2.1-17
pygtk2-1.99.12-7
pyxf86config-0.3.1-2
rpm404-python-4.0.4-8x.27
python-devel-2.2.1-17
gnome-python2-gtkhtml2-1.99.11-8
orbit-python-1.99.0-4
gnome-python2-canvas-1.99.11-8
gnome-python2-bonobo-1.99.11-8
gnome-python2-1.99.11-8
pyOpenSSL-0.5.0.91-1
rpm-python-4.1-1.06
pygtk2-devel-1.99.12-7
kdesdk-kspy-3.0.3-2
mod_python-3.0.0-10
gnome-python2-gconf-1.99.11-8
libxslt-python-1.0.19-1
python-tools-2.2.1-17
libxml2-python-2.4.23-1
pygtk2-libglade-1.99.12-7
python-optik-1.3-2
kfloppy-3.0.3-3
|
Опции grep, а также регулярные выражения, которые можно использовать в grep, досупны в справке man.
Наиболее интересные примеры.
Для поиска пакета, имя которого начинается с определенного буквосочетания, введите:
где py - начальные буквы имен пакетов.
Для исключения пакетов с заданным буквосочетанием в имени, введите:
# rpm -qa | grep -v blabla
|
В команде grep опция -v означает не многословный вывод, а инверсию шаблона, то есть "выведи мне все, что не соответствует шаблону".
4.1.3.2 Запросы с помощью метасимволов
Помимо возможности перенаправить вывод, rpm имеет некоторые встроенные механизмы, помогающие детализировать запрос к списку пакетов. Например, можно использовать метасимволы для создания шаблонов имен:
# rpm -qa "send*"
sendmail-cf-8.11.6-3
sendmail-8.11.6-3
|
Кавычки вокруг шаблона send* экранируют специальный символ * от интерпретации его определенным образом механизмами Linux shell. Эта команда ищет все пакеты, имена которых начинаются с send. Подобно grep, такая форма команд может инвертировать шаблон с помощью символа !:
Данная вариация будет искать пакеты, имена которых не начинаются с send.
Помимо grep часто используются и другие команды, например wc -l можно использовать для подсчета количества найденных пакетов.
Далее - Какому пакету принадлежит файл?
Назад - Запросы о пакетах
Содержание