コマンドを実行しgrep
て特定の出力を取得し、それを変数に格納します。grep コマンドの出力は次のとおりです。
5.3.1-6.2011171513.ASMOS6
5.3.1-6
しかし、そのバージョンを解析して変数に格納するだけで済みます。どうやってやるの?
タグに「linux」と書かれているように、このオプションをサポートする最新のgrepがあると仮定し-o
ます。
できるよ
var=$(grep -o 'regex' file)
変数への正規表現のみをキャプチャします。
残念ながら、私はあなたが抱えている問題を理解していません。あなたはあなたが現在使用している正規表現を私たちに示す5.3.1-6
ためにあなたの質問を編集しなければなりません。
IHTH
これはどうですか?
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
ます。