我正在编写一个shell脚本,我需要一些帮助来匹配和提取模式
ALARM_TYPE contain string 'Exception Type - timeOverThreshold Description - High CPU eHealth Alarm ID - 1000001'
我需要在Description -
之后和Alarm ID
之前提取字符串并将其存储在新的变量中...在此示例中,我正在寻找High CPU eHealth
我如何才能完成awk
,sed
或任何其他简单的事情。
答案 0 :(得分:1)
以下是您使用GNU grep
:
var=$(grep -oP "(?<=Description - ).*(?= Alarm ID)" file)
或sed
:
var=$(sed 's/.*Description - \(.*\) Alarm ID.*/\1/' file)
测试:
echo "$var"
结果:
High CPU eHealth
您可以阅读有关前瞻和后瞻性声明here的更多信息。 HTH。
答案 1 :(得分:0)
sed 's/.*Description\(.*\)Alarm.*$/\1/g'