鉴于以下正则表达式模式,pattern="\[Adjective]|\[Noun]|\[Adverb]"
和字符串$lib
,它将是常规字词或标记,例如[Adjective]
或[Noun]
我想要将替换结果存储到变量中。
声明
printf "%s" $l | sed -E 's/'$pattern'/'$lib'/'
执行替换很好,但是当我将其更改为
时eval foo=\$"l | sed -E s/'$pattern'/'$lib'/"
echo $foo
我得到的只是空白。
有什么想法吗?
答案 0 :(得分:2)
foo=$(printf "%s" $l | sed -E 's/'$pattern'/'$lib'/')