¿Cómo puedo hacer 5 copias de un archivo fácilmente?

¿Cómo puedo hacer 5 copias de un archivo fácilmente?

Puedo mover 5 archivos a algún lugar usando:

$ mv my-{1..5}.jpg /path/to/dir/

¿Cómo puedo hacer una copia de un archivo 5 veces fácilmente?

# doesn't work
$ cp my.jpg my-{1..5}.jpg

¿Es posible no utilizar un for loop?

Respuesta1

Prueba esto

for f in {1..5}; do cp my.jpg my$f.jpg; done

(no tengo bash aquí para probarlo yo mismo)

Respuesta2

Aquí tienes una forma de hacerlo sin forbucle y sin los riesgos de usar eval:

printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg

Sigue siendo efectivamente un bucle.

Respuesta3

Intentar tee:

tee <my.jpg >/dev/null my-{1..5}.jpg

O parallel:

parallel cp my.jpg ::: my-{1..5}.jpg

Respuesta4

Puedes hacerlo sin bucle... usando teeuna {}expansión de llaves.

EDITAR:(modificado segúnDennis Williamsoncomentario:

Para un archivo llamado "my-.jpg"

pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null

información relacionada