Shell

如何從表達式中查找值

  • October 18, 2016

我有下面的表達式,我想從中輸出 +m= value

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

輸出值應為“3”

有什麼建議麼?

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

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

引用自:https://unix.stackexchange.com/questions/317311