0

コマンドを実行しgrepて特定の出力を取得し、それを変数に格納します。grep コマンドの出力は次のとおりです。

5.3.1-6.2011171513.ASMOS6

5.3.1-6しかし、そのバージョンを解析して変数に格納するだけで済みます。どうやってやるの?

4

2 に答える 2

1

タグに「linux」と書かれているように、このオプションをサポートする最新のgrepがあると仮定し-oます。

できるよ

var=$(grep -o 'regex' file)

変数への正規表現のみをキャプチャします。

残念ながら、私はあなたが抱えている問題を理解していません。あなたはあなたが現在使用している正規表現を私たちに示す5.3.1-6ためにあなたの質問を編集しなければなりません。

IHTH

于 2013-03-08T15:01:57.863 に答える
1

これはどうですか?

TEXT=5.3.1-6.2011171513.ASMOS6
RES=$(echo $TEXT | cut -d. -f-3)

cutひもをつけて、.最初の 3 ピースを取得します。

awk

RES=$(echo $TEXT | awk -F. 'OFS=FS {print $1,$2,$3}')

OFS=FSで定義された出力する区切り文字を取得することを意味し-Fます。

于 2013-03-08T14:58:14.520 に答える