0

我正在尝试使用PHP CodeSniffer的PHPCompatibility标准来测试一组特定的文件。

我目前正在find这样做。

find ./path1 ./path2 ./path3 ./path4                                                \
    -type f                                                                         \
    -name '*.php'                                                                   \
    -not -path './path4/dontwantthis/*'                                             \
    -exec ./vendor/bin/phpcs                                                        \
    --standard=PHPCompatibility --runtime-set testVersion 5.6 {}                    \;

但是,这确实很慢且效率低下,因为脚本的启动针对每个文件运行。

phpcs 脚本采用类似的路径./vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion 5.6 <path-of-your-php-files>,我想找到一种方法来复制find具有 globbing 模式的东西来代替<path-of-your-php-files>

我遇到的主要问题之一是包括./path4/*.php同时也排除./path4/dontwantthis/*

4

1 回答 1

0

用而不是结束您的-exec选择。这告诉使用所有文件名运行一次命令,而不是为每个文件名单独运行。+\;find

find ./path1 ./path2 ./path3 ./path4                                                \
    -type f                                                                         \
    -name '*.php'                                                                   \
    -not -path './path4/dontwantthis/*'                                             \
    -exec ./vendor/bin/phpcs                                                        \
    --standard=PHPCompatibility --runtime-set testVersion 5.6 {} +
于 2015-07-23T21:04:55.980 回答