如何从表达式中查找值

如何从表达式中查找值

我有下面的表达式,我想从中输出 +m= 值

"ginger bread.k +log ../output1 -format +m=3 0 +sleep 10 +suspend 10"

输出值应为“3”

有什么建议么?

答案1

echo "ginger bread.k +log ../output1 -format +m=3 0 +sleep 10 +suspend 10" | ...

替换...为:

grep -oP '\+m=\K\d+'

sed -E 's/.*\+m=([0-9]+).*/\1/'

 awk -F'+m=| ' '{print $7}'

perl -lne 'print $& if /\+m=\K\d+/'

x="ginger bread.k +log ../output1 -format +m=3 0 +sleep 10 +suspend 10"
[[ $x =~ \+m=([0-9]+) ]] && echo ${BASH_REMATCH[1]}

输出

3

相关内容