it-swarm-es.tech

¿Cómo abrir varios archivos desde la salida de "buscar"?

Sé que puedo abrir varios archivos encontrados en un directorio así:

find -name *.foo -xargs <command> {} \;

Esto funciona, pero al intentar abrir varios archivos de texto en gedit al mismo tiempo, los abre sucesivamente (cuando se cierra un archivo, se abre el siguiente).

Me gustaría abrir todos esos archivos al mismo tiempo. ¿Cómo puedo conseguir esto?

10
jottr

Para actuar en varios archivos a la vez con find, utilice + en vez de \;:

find . -name '*.foo' -exec gedit {} +

Con zsh, o con bash ≥4 si pones shopt -s globstar en tus ~/.bashrc, puedes usar **/ para recurrir a subdirectorios:

gedit **/*.foo

Zsh también tiene muchos calificadores glob que pueden reemplazar la mayoría de los usos de find.

En Mac OS X bash puedes ejecutar algo como:

for file in $(find . -name "*.py"); do open -a SublimeText $file; done. 

Un inconveniente es que se abre en una nueva ventana de Sublime en lugar de usar una nueva pestaña.

2
andilabs

Creo que en este caso podrías usar

find ./ -name \*.foo | xargs gedit
0
pbm