+ 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:
grep -oP '\+m=\K\d+'
sed:
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