Eu estou tentando construir meu arquivo etags. Eu tenho uma estrutura de projeto de tal forma que, dado um diretório raiz, existem subdiretórios e dentro desses podem ser diretórios denominados "cpp". Por exemplo:
root
- sub1
- cpp
- sub2
- sub21
- cpp
- csharp
Então, para um projeto comum, geralmente algo como: encontrar . -tipo f (-inome ".cpp "-o -iname".hpp "-o -iname".c "-o -inome".h "-o -inome".cc "-o -iname".hh ") -print | xargs etags -a
Isso não funcionará mais, pois também irá coletar arquivos que podem ser csharp, object c etc ...
Então, o que eu estou tentando fazer é encontrar apenas os arquivos retornados nos subdiretórios chamados cpp. Então, como posso encontrar para fazer isso?
Obrigado ...
Respostas:
3 para resposta № 1Aninhado find
pode funcionar para você
find . -type d -name "cpp" -exec find {} -type f ;
2 para resposta № 2
Ou mais simplesmente (assumindo que não há subdiretórios adicionais nos diretórios cpp:
find . -type f -path "*/cpp/*"
Isso retornaria o caminho relativo inteiro de. embora, o que pode exigir mais corte: /