Usar una terminal Linux/Unix para copiar muchos archivos a una nueva ubicación

Usar una terminal Linux/Unix para copiar muchos archivos a una nueva ubicación

Estoy intentando utilizar una terminal de Linux para copiar muchos archivos a una nueva ubicación. Cansé el comando:

sudo localizar -iarchivo_yo_quiero| xargs cp $1 /place_I_want_everything_copied_to/

Lo cual, da un error. ¿Cuál es la forma correcta de manejar esto?

Respuesta1

xargsno funciona de esa manera. No usa $1. Normalmente simplemente pospone el argumento hasta el final de la lista de parámetros. Pero en este caso no funcionará, ya que es el objetivo, no el destino y un parámetro final no es lo que se necesita.

Consulte la -ibandera de xargs, le permite realizar una sustitución. El valor predeterminado es usar {}, supongo que para ser coherente confind

sudo locate -i *file_I_want* | xargs -i cp {} /place_I_want_everything_copied_to/

El comentario de @javano también es una respuesta, aunque se interrumpiría si hay espacios en los nombres de archivos (aunque creo que los espacios también interrumpirían el uso de xargs anterior)

información relacionada