Pregunta

Quiero hacer una lista de los archivos de salida de localizar. QUIERO scp tomar la lista.

No estoy seguro acerca de la sintaxis. Mi intento de pseudo-código

locate labra | xargs scp {} masi@11.11.11:~/Desktop/

¿Cómo se puede mover los archivos al destino?

¿Fue útil?

Solución

Por lo general, {} es un find ISM:

find ... -exec cmd {} \;

Donde {} es la imagen actual que encontramos está trabajando.

Usted puede obtener xargs a comportarse similar con:

locate labra | xargs -I{} echo {} more arguments

Sin embargo, se dará cuenta rápidamente que ejecuta los comandos varias veces en lugar de una llamada a scp .

Así pues, en el contexto de su ejemplo:

locate labra | xargs -I{} scp '{}' masi@11.11.11:~/Desktop/

Tenga en cuenta las comillas simples alrededor del {}, ya que será útil para rutas con espacios en ellos.

Otros consejos

xargs normalmente lleva tantos argumentos que puede caber en la línea de comandos, pero usando -I que de repente sólo se necesita una. GNU http://www.gnu.org/software/parallel/ puede ser una mejor solución:

locate labra | parallel -m scp {} masi@11.11.11:~/Desktop/

Desde que busca en el SCP, puedo sugerir que también echa un vistazo a rsync?

locate labra | parallel -m rsync -az {} masi@11.11.11:~/Desktop/
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top