用于递归文本替换的Mac perl脚本

时间:2013-05-31 16:32:30

标签: php macos perl

我需要替换短语include('file.php')的实例来读取require('file.php') 我尝试使用以下脚本,但无济于事。是因为它有引号吗?还有其他原因吗?附: OSX 10.7.5

/usr/bin/perl -p -i -e "s/include('file.php')/require('file.php')/g" *.php

1 个答案:

答案 0 :(得分:5)

没有。这是因为括号是元字符,它们进行分组。你需要用反斜杠来逃避它们。或者更简单,让perl使用quotemeta函数(也是\Q)执行此操作:

/usr/bin/perl -p -i -e "s/\Qinclude('file.php')/require('file.php')/g" *.php