如何将eval语句的结果存储在变量中?

时间:2013-11-12 22:01:36

标签: regex bash shell variables eval

鉴于以下正则表达式模式,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

我得到的只是空白。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

foo=$(printf "%s" $l | sed -E 's/'$pattern'/'$lib'/')