如何在包含许多文件的文件夹结构中替换过时的split
PHP 命令?explode
答案1
与此同时,我自己也想通了。
find . -iname '*.php' -type f -exec grep -l -m 1 -P '[<][?]' {} \; | xargs -r grep -l -m 1 --null -P '[^_.]split[\s]*[(]' | sudo xargs -0 -r perl -pi -e 's/([^_.])split([\s]*[(])/$1explode$2/g'
- 获取 PHP 文件(不区分大小写)。
- 检查是否
<?
在里面。 - 检查是否
split(
在里面。 split(
用。。。来代替explode(
。
对于 3 和 4:( _split(
)preg_split
和.split(
(在我的例子中是 Javascript)不会被替换。
在 Ubuntu 18.04 上测试。