2013-08-20 54 views
3

我在文件中查找文本,并用我的bash脚本中的变量替换它。我无法让变量被perl命令识别。有任何想法吗?将bash变量插入perl搜索,并在我的bash脚本中替换

mybash.bash:

#! /bin/sh 
let "myNum=2"# myNum could be any integer 
perl -pi -e 's/ABCD\d/ABCD$myNum/g' ./textfile.txt 

TextFile.txt的:

'ABCD0' 得到与上面的脚本 'ABCD' 取代

回答

6

使用双引号,以使变量插值:

perl -pi -e "s/ABCD\d/ABCD$myNum/g" ./textfile.txt 
      ^^^     ^^^ 
+0

“插值”:通过插入介绍 –

0

您是否试过使用$($ myNum)? Bash需要能够执行/评估变量?

而且,单引号通常打印文本字段和双评估的事情,所以你可能需要与摆弄如果上述不起作用