[英]Including and excluding globbing patterns in bash
我正在嘗試使用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
具有球形模式的東西代替<path-of-your-php-files>
我遇到的主要問題之一是包括./path4/*.php
同時還排除了./path4/dontwantthis/*
用+
而不是\\;
結束-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 {} +
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.