표현식에서 값을 찾는 방법

표현식에서 값을 찾는 방법

+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

관련 정보