我想用 bash 做一些多行匹配=~
#!/bin/bash
str='foo = 1 2 3
bar = what about 42?
boo = more words
'
re='bar = (.*)'
if [[ "$str" =~ $re ]]; then
echo "${BASH_REMATCH[1]}"
else
echo no match
fi
快到了,但如果我使用^
or $
,它将不匹配,如果我不使用它们,.
也会吃换行符。
编辑:
抱歉,后面的值=
可能是多字值。