... | grep '\.php$' | ...
Meu comando: git show --pretty="format:" --name-only
retorna a lista de arquivos.
Então eu uso o xargs para executar um script de shell nesses arquivos:
git show --pretty="format:" --name-only | xargs -i phpmd $dir/'{}' text codesize,unusedcode,naming
No entanto, gostaria de executar o comando xargs apenas em arquivos com extensão .php
. Como filtrar os arquivos indesejados?
Se seus nomes de arquivos podem conter espaço ou aspas, você deve usar o link do GNU Paralelo em vez de xargs, pois os xargs podem levar a surpresas desagradáveis por causa do problema do separador link :
git show --pretty="format:" --name-only | grep '\.php$' | parallel phpmd $dir/{} text codesize,unusedcode,naming
GNU Assista ao vídeo de introdução do GNU Parallel para saber mais: link