将bash变量插入perl搜索和替换

时间:2013-08-20 06:24:04

标签: bash

在我的bash脚本中,我在文件中查找文本,并将其替换为我的bash脚本中的变量。我无法通过perl命令识别变量。任何想法?

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'

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:0)

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

此外,单引号通常会打印文字字段并对事物进行双重评估,因此如果上述操作不起作用,您可能需要摆弄它