rpm
は、パッケージ管理コマンドで、Red Hat系のLinuxディストリビューションで使われる「RPM(Red Hat Package Manager)パッケージ」を扱うことができます。
この記事では、rpm
コマンドの出力フォーマットを指定できるオプション --qf (queryformat)
について説明します。
目次
rpm –qf ( –queryformat )/出力フォーマットを指定【Linuxコマンド】
環境
- ホストOS:Windows10
- ゲストOS:CentOS7
- ゲストOSは、VirtualBoxとVagrantで構築
rpm -qa でパッケージ一覧の表示
rpm -qa
で、インストール済みパッケージの一覧を表示します。
-q (--query)
:問い合わせ(パッケージ情報の表示と検索)
-a(--all)
:インストールされているパッケージを一覧表示する
これだけですと、数が多いので、さらに grep
コマンドで“rpm”が含まれるパッケージを絞り込んで表示します。
$ rpm -qa | grep rpm
rpm-libs-4.11.3-45.el7.x86_64
rpm-build-libs-4.11.3-45.el7.x86_64
deltarpm-3.6-3.el7.x86_64
python-deltarpm-3.6-3.el7.x86_64
rpm-4.11.3-45.el7.x86_64
rpm-python-4.11.3-45.el7.x86_64
–queryformat で出力フォーマットを指定
実際に、出力フォーマットを指定するオプション --queryformat
を使ってみます。
–queryformat の後に、引用符(”◯◯” or ‘◯◯’)で囲み、%{NAME}
のように出力したいフォーマットを指定します。
この NAME の部分を「タグ」と呼びます。
以下は、パッケージ名とサイズを出力する例です。
改行をするために、\n も使ってます。
$ rpm -qa --queryformat "%{NAME} %{SIZE}\n" | grep rpm
rpm-libs 611384
rpm-build-libs 166664
deltarpm 214487
python-deltarpm 47234
rpm 2622621
rpm-python 149762
数字やマイナスの符合を組み合わせることで、文字列の間隔や、右詰め・左詰めなどを指定することができます。
以下は、パッケージ名を20バイトの幅で左詰めに出力し、サイズを10バイトの幅で右詰めに出力する例です。
$ rpm -qa --queryformat "%-20{NAME} %10{SIZE}\n" | grep rpm
rpm-libs 611384
rpm-build-libs 166664
deltarpm 214487
python-deltarpm 47234
rpm 2622621
rpm-python 14976
–querytags オプションで利用できる全てのタグを表示
rpm –querytags コマンドで利用できる全てのタグを表示することができます。
$ rpm --querytags
ARCH
ARCHIVESIZE
BASENAMES
BUGURL
BUILDARCHS
BUILDHOST
BUILDTIME
C
CHANGELOGNAME
CHANGELOGTEXT
CHANGELOGTIME
:
行数を表示するコマンド wc -l
で確認してみると、 205個ありました。
$ rpm --querytags | wc -l
205
以上、出力フォーマットを指定できるオプション --qf (queryformat)
について説明しました。