Bash:用perl动态替换

BeJ*_*Jay 0 regex bash perl

我想以编程方式将小占位符替换为静态内容,如用户名或工作路径.

在bash中是否有可能动态执行我的perl替换状态,如:

GROUPNAME="$(id -g -n $USER)"
perl -pi -e 's/\(PLACEHOLDER\)/' + "$GROUPNAME" + '/g' filepath/file
Run Code Online (Sandbox Code Playgroud)

如果我还能为占位符调整这种动态行为,那将是非常好的.但首先要做的事情.如何连接这些字符串?

Kar*_*ath 6

删除" + "(空格和加号).Bash为相邻字符串执行自动连接.

echo 'hi!'t"here"  # hi!there
Run Code Online (Sandbox Code Playgroud)

以这种方式生成Perl代码仅仅是安全的,因为输出id -g -n $USER将不包含\,$,@/.