次の入力があります
- MyComposite[2.1]、パーティション = デフォルト、モード = アクティブ、状態 = オン、isDefault = true、展開時間 = 2012-05-07T15:35:22.473-07:00
- MessageManager[1.0]、partition=default、mode=active、state=on、isDefault=true、deployedTime=2012-05-07T15:37:14.137-07:00
- SimpleApproval[1.0]、partition=default、mode=active、state=on、isDefault=true、deployedTime=2012-05-07T15:28:39.599-07:00
ファイルから入力を1行ずつ解析するスクリプトがありますが、各行から個々のパラメーターをローカル変数に抽出する方法がわからないため、追加のプロセスを実行できます
これまでのところ、次のことを試しています。
#!/bin/ksh
file="output"
compositeName="foo" ci=0
# while loop while read line do
# display line or do somthing on $line
if echo "$line" | egrep -q '\[[0-9]*\.[0-9]*\].*?(mode=active).*?
(state=on)' then compositeName=$( echo "$line" | egrep '[0-9]*' )
echo "$compositeName"
#echo "$line"
fi
done <"$file"
私は、この文字列から最初の単語と括弧の間の浮動小数点数の 2 つの値のみを抽出する方法を探しています。
すなわち:
名前 = MyComposite バージョン = 2.1
何か案は?