SCP de localizar la producción en xargs
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?
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/