4

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

我的bash.bash:

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

文本文件.txt:

'ABCD0' 用上面的脚本替换为 'ABCD'

4

2 回答 2

10

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

perl -pi -e "s/ABCD\d/ABCD$myNum/g" ./textfile.txt
           ^^^                   ^^^
于 2013-08-20T06:36:54.680 回答
0

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

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

于 2013-08-20T06:39:57.487 回答