0

パターンのマッチングと抽出に助けが必要なシェルスクリプトを書いています

ALARM_TYPE contain string 'Exception Type - timeOverThreshold Description - High CPU eHealth Alarm ID - 1000001'

文字列の前後を抽出して新しい変数に保存する必要がありDescription -ますAlarm ID...特にこの例では、私が探していますHigh CPU eHealth

どうすればそれを簡単に行うことができますかawksed動作しますか、または他の単純なことです。

4

2 に答える 2

1

を使用してやりたいことの直訳は次のGNU grepとおりです。

var=$(grep -oP "(?<=Description - ).*(?= Alarm ID)" file)

またはsed

var=$(sed 's/.*Description - \(.*\) Alarm ID.*/\1/' file)

テスト:

echo "$var"

結果:

High CPU eHealth

先読みアサーションと後読みアサーションの詳細については、こちらを参照してください。HTH。

于 2013-02-18T08:10:06.490 に答える
0
sed 's/.*Description\(.*\)Alarm.*$/\1/g'
于 2013-02-18T10:03:42.547 に答える