1

Linuxボックスにmy-scheduler-1.1.0-1112というプログラムをインストールしました

rpm -qa | を実行すると grep my を実行すると、次のように一覧表示されます。

my-scheduler-1.1.0-1112

シェル スクリプトのバージョン部分である 1.1.0-1112 を抽出するコマンドが必要です。

シェルスクリプトでそれを抽出するコマンドは何ですか?

4

2 に答える 2

3

この質問については、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を読むと役立つかもしれません- ここには多くの便利なクエリ形式タグがあるので、必要なものと形式を直接取得できます。スクリプトなしで...

于 2012-08-01T19:55:47.930 に答える
1

他のバージョン文字列に遭遇する可能性があるかどうかはわかりませんが、試すことができます:

sed -e 's/^[^0-9]*-//g'

これはsed交換です。次の正規表現^[^0-9]*-に一致します。

  • 文字列の先頭から
  • 数以外の数に一致する
  • その次の文字は-

そして、空白に一致するものすべてを置き換え、本質的にそれを削除します。これにより、バージョン文字列であるその後のすべてが残されます。

于 2012-08-01T19:35:15.560 に答える