Reencaminha resultados do comando Localizar para javac

3

Eu desejo compilar os resultados de um comando find onde o comando find retorna o caminho de arquivo relativo de um arquivo java localizado em subdiretórios. E.G., estou em ./ e quero executar javac em um arquivo, someFile.java , mas não sei em "command-type-time" qual é o caminho relativo.

A execução de find . -name someFile.java retorna o caminho relativo correto (e apenas o caminho correto, desde que someFile.java seja nomeado de forma exclusiva dentro dos subdiretórios de . ) Desejo compilar ESTE arquivo. Então eu tentei javac | find . -name someFile.java , mas não tenho certeza sobre o porquê isso não está funcionando. Isso é possível?

    
por Alexander Bollbach 17.06.2016 / 22:04

2 respostas

2

Você deseja usar a sintaxe $() .

por exemplo

javac $(find ./someDir/anotherDir/ -name someFile.java)

    
por 17.06.2016 / 22:05
3

Use o comando exec de find :

find . -name someFile.java -exec javac {} \;

    
por 17.06.2016 / 22:21