$ find . -type f -name '*.cpp' ! -path '*-old*'
Eu tenho uma árvore de origem com alguns diretórios com nomes que terminam com -old
, que são mantidos como uma referência ao reescrever os componentes que estão neles. Há também um Makefile
que apenas find
s todos *.cpp
arquivos em subpastas do diretório atual e compila-os em um único executável (sim, eu sei, não é um ótimo sistema de compilação, mas funciona muito bem .. exceto o -old
s).
Então, estou usando isso para obter uma lista de todos os arquivos *.cpp
:
SOURCES=$(shell find . -name "*.cpp" -print)
Como posso dizer a find
para procurar todos os arquivos *.cpp
, que não têm *-old*
em seu caminho?
find . -type d -name "*-old" -prune -o -name "*.cpp" -print