Eu sei que posso abrir vários arquivos encontrados em um diretório como este:
find -name *.foo -xargs <command> {} \;
Isso funciona, mas ao tentar abrir vários arquivos de texto no gedit ao mesmo tempo, ele os abre sucessivamente (quando um arquivo é fechado, o próximo é aberto).
Eu gostaria de abrir todos esses arquivos ao mesmo tempo. Como posso conseguir isso?
Para atuar em vários arquivos de uma vez com find
, use +
ao invés de \;
:
find . -name '*.foo' -exec gedit {} +
Com zsh, ou com bash ≥4 se você colocar shopt -s globstar
na tua ~/.bashrc
, você pode usar **/
para recursar em subdiretórios:
gedit **/*.foo
Zsh também tem muitos qualificadores glob que podem substituir a maioria dos usos de find
.
No Mac OS X bash, você pode executar algo como:
for file in $(find . -name "*.py"); do open -a SublimeText $file; done.
Uma desvantagem é que ele abre em uma nova janela do Sublime em vez de usar uma nova guia.
Eu acho que neste caso você poderia usar
find ./ -name \*.foo | xargs gedit