Linuxボックスにmy-scheduler-1.1.0-1112というプログラムをインストールしました
rpm -qa | を実行すると grep my を実行すると、次のように一覧表示されます。
my-scheduler-1.1.0-1112
シェル スクリプトのバージョン部分である 1.1.0-1112 を抽出するコマンドが必要です。
シェルスクリプトでそれを抽出するコマンドは何ですか?
この質問については、rpm の--queryformatパラメーターを試すことができます。
お気に入り:
rpm -qa --queryformat '%{NAME}' | grep my
印刷する必要があります
my-scheduler
バージョン文字列なし... sedなどでマグリングする方がはるかに優れています。あなたは何かを得ることができるのでpackage-1.0.3-rc2
..
バージョン リリースの場合: 次を使用します。
--queryformat "%{VERSION}-%{RELEASE}"
http://www.rpm.org/max-rpm/ch-queryformat-tags.htmlを読むと役立つかもしれません- ここには多くの便利なクエリ形式タグがあるので、必要なものと形式を直接取得できます。スクリプトなしで...
他のバージョン文字列に遭遇する可能性があるかどうかはわかりませんが、試すことができます:
sed -e 's/^[^0-9]*-//g'
これはsed
交換です。次の正規表現^[^0-9]*-
に一致します。
-
そして、空白に一致するものすべてを置き換え、本質的にそれを削除します。これにより、バージョン文字列であるその後のすべてが残されます。