小编gar*_*rys的帖子

在Perl正则表达式替换命令行中使用bash变量名作为匹配替换

我正在尝试用shell中与之匹配的bash变量的值替换由字符串中的字符分隔的子字符串。

到目前为止,我已经尝试过了,但没有成功:

varone="noob"
vartwo="trivial"
echo "my {varone} and {vartwo} question" | perl -pe 's|(.*){(\w+)}(.*)|${1}'$(echo "${'${2}'}")'${3}|g'
Run Code Online (Sandbox Code Playgroud)

但是我得到:

bash: ${'${2}'}: bad substitution
Run Code Online (Sandbox Code Playgroud)

关于如何执行此操作的任何想法?提前致谢!

regex bash shell perl command-line

3
推荐指数
2
解决办法
75
查看次数

标签 统计

bash ×1

command-line ×1

perl ×1

regex ×1

shell ×1