Cómo copiar un archivo a varios directorios usando el comando gnu cp
¿Es posible copiar un solo archivo a varios directorios usando el comando cp?
Intenté lo siguiente, que no funcionó:
cp file1 /foo/ /bar/
cp file1 {/foo/,/bar}
Sé que es posible usar un bucle for o buscar. ¿Pero es posible usar el comando gnu cp?
No puedes hacer esto cp
solo pero puedes combinarlo cp
con xargs
:
echo dir1 dir2 dir3 | xargs -n 1 cp file1
Se copiará file1
a dir1
, dir2
y dir3
. xargs
Llamará cp
3 veces para hacer esto; consulte la página de manual para xargs
obtener más detalles.
No, cp
puede copiar varias fuentes pero solo copiará a un único destino. Debe programar la invocación cp
varias veces (una por destino) para lo que desea hacer; usando, como usted dice, un bucle o alguna otra herramienta.
Los comodines también funcionan con el código de Roberts.
echo ./fs*/* | xargs -n 1 cp test
Usaría cat
y tee
según las respuestas que vi en https://superuser.com/questions/32630/parallel-file-copy-from-single-source-to-multiple-targets en lugar de cp
.
Por ejemplo:
cat inputfile | tee outfile1 outfile2 > /dev/null