运行替换文本文件中内容的shell脚本

时间:2014-07-15 19:12:20

标签: string macos shell replace

我想要实现的是在一个文件夹的所有* .txt文件中替换一些占位符。

我并不经常使用shell脚本,但为了这个目的,我想使用它。我的第一次尝试是这样的:

#!/bin/sh
MYSTRING="Thesedentary"
echo $MYSTRING
perl -pi -w -e 's/{{PLACEHOLDER}}/${MYSTRING}/g;' /path_to_directory/*.txt

我知道perl -pi -w -e 's/.../.../g;' /path_to_directory/*.txt会将第一个/.../的内容替换为第二个/.../,但正如您所见,我想将第二个/.../替换为内容变量 - > MYSTRING。我得到的只是:

Name "main::MYSTRING" used only once: possible typo at -e line 1.

但文件中的{{PLACEHOLDER}}将被替换为任何内容 - >

由于

1 个答案:

答案 0 :(得分:0)

找到解决方案:

#!/bin/sh
MYSTRING='Thesedentary'
eval "perl -pi -w -e 's/{{TEST}}/${MYSTRING}/g;' /path_to_directory/*.js"

使用eval执行命令。