我有一段代码可以完成我所需的大部分工作,除了它将所有生成的文件放在执行命令的文件夹中。
for f in `find /home/master/php/ -type f -name "*.php"` ; do php -w $f > `basename $f .php`.mir ; done
我如何修改它,以便在其各自.php文件的文件夹中创建 .mir 文件。
使用-execdir
在正确的目录中运行并避免空格脆弱的循环,如下所示:
find /home/master/php/ -type f -name *.php -execdir sh -c 'php -w "$0" > $(basename "$0").mir' '{}' ;