Mac perl脚本递归文本替换


Mac perl script for recursive text replacement

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

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

No。因为括号是元字符,它们进行分组。你需要用反斜杠转义它们。或者更简单,让perlquotemeta函数(也是'Q)来做:

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