2017-06-08 2 views
0

Red Hatからソフトウェア情報を取得しようとしています。限り私が試してきたように、シェルスクリプトで適切な位置合わせをして行を再構成する方法

rpm -qi <softwarename> 

は私が&日をインストールし、日付を構築し、名、バージョン、リリース、ベンダーを必要とします、十分な情報以上の情報からSoftware Information

を提供します。

私は名バージョンリリースには、次のコマンドを使用して、日付をインストール&取得することができた。(ここでは、私は簡単にするためだけの名前とバージョンをgreppedている)

rpm -qi perl-Git | grep -E '^Name  :|^Version  :' | awk -F 'Relocations:|Vendor:' '{print $1}' 

私が取得する見当もつかない私は2つのフィールドの間に分割文字列を見つけることができなかったので、情報の右側。 提案がありますか?

+0

私は、あなたが望むように出力したいものを得るために、rpmの-q(クエリ)フォーマットを使用する方が良いと思います。そこから、必要ならawkで攻撃することができます。 [それを行う方法についてもっと読む](http://rpm.org/user_doc/query_format.html)と[含むことができるすべての種類のマンページ](https://linux.die.net/man/) 8/rpm) – JNevill

+1

私はフォーマットに同意しますが、いつでも使用できます。 'rpm -qi pkgname | grep '^名前\ | ^バージョン' | awk '{print $ 3}' '* queryformat *を使用した場合は' rpm -q --queryformat "となります。%{NAME} \ n%{VERSION} \ n" pkgname' –

+0

@ DavidC.Rankin Awesome ...ありがとうございますあなたは私の全日を救ったたくさん... –

答えて

2

使用--queryformat

$ rpm -q --queryformat "%{NAME}\n%{VERSION}\n%{RELEASE}\n%{VENDOR}\n%{BUILDTIME}\n%{INSTALLTIME}\n" perl-Git 
perl-Git 
2.8.0 
1.WANdisco.308 
(none) 
1459260423 
1493311622 

次に、あなたが好きなようにそれを印刷し、そしてあなたが好きどのようにそれを解析することができます。

+1

' -a'は、インストールされているすべてのパッケージのクエリを意味します。... ... –

+0

パッケージ名がそのオプションを上回っているので気づかなかった。 – Jack

+0

はい、大したことではなく、文字列の後にパッケージ名をつけたkinda * wonky *(高度な技術用語)です。 –

関連する問題