Me gustaría cambiar el nombre de archivo de muchos archivos agregando un sufijo aleatorio a los nombres de archivo existentes.
He intentado cambiar este código (cambia el nombre de archivo en lugar de agregar un sufijo) pero sin éxito.
#!/bin/bash
chars=( {a..z} {A..Z} {0..9} )
function rand_string {
local c=$1 ret=
while((c--)); do
ret+=${chars[$((RANDOM%${#chars[@]}))]}
done
printf '%s\n' "$ret"
}
for file in ~/Desktop/test/*; do
ext=$(echo ${file} | sed 's,^.*(\.[^\.]*$),\1,')
mv "$file" ~/Desktop/test/"$file$(rand_string 10)"${ext}
done
Una solución de línea de comandos o automator sería preferible
0 votos
¿Qué exactamente has intentado, puedes añadir el script que tienes hasta ahora?
0 votos
Actualmente he cambiado la última línea con una variable adicional pero obtuve un error
0 votos
!/bin/bash chars=( {a..z} {A..Z} {0..9} ) función rand_string { local c=$1 ret= while((c--)); do ret+=${chars[$((RANDOM%${#chars[@]}))]} done printf '%s\n' "$ret" } for file in ~/Desktop/test/* do ext=$(echo ${file} | sed 's,^.*(\.[^\.]*$),\1,') mv "$file" ~/Desktop/test/"$file$(rand_string 10)"${ext} done