Shell
如何從表達式中查找值
我有下面的表達式,我想從中輸出 +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