Linux/Unix Shell Scripting - Cambiar nombre de archivo a uno con espacio dentro de script bash

   
Vista:

Cambiar nombre de archivo a uno con espacio dentro de script bash

Publicado por Jorge Romero (2 intervenciones) el 28/12/2013 00:29:32
Hola buenas tardes mi pregunta es bastante simple sin embargo no puedo ubicar la forma de resolverlo.

La situación es la siguiente:
Tengo un script que renombra archivos de forma masiva, el nombre de los archivos se divide en dos palabras por ejemplo :
$nombreoriginal='C4ncion'

$nombrearchivo='cancion'
$numero='01'

$nuevonombre=$nombrearchivo"-"$numero

mv $nombreoriginal $nuevonombre

Lo que me da como resultado 'cancion-01' sin embargo el resultado que busco es: 'cancion 01'. Estoy utilizando '-' debido a que colocar directamente ' ' me da un error en el comando mv (mv: no se puede efectuar `stat').

En consola resulta muy simple hacer esto usando:
mv nombreoriginal.jpg 'nuevo nombre.jpg'

Sin embargo no logro hacer lo mismo dentro de un script, entonces mi pregunta es ¿Como puedo hacer que el archivo contenga un espacio en su nombre dentro de un script bash?

Desde ya, Muchas Gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de barna_rasta

Cambiar nombre de archivo a uno con espacio dentro de script bash

Publicado por barna_rasta (33 intervenciones) el 28/12/2013 12:56:37
Hola Jaime,
creo deberias poner entre comillas dobles

1
2
3
$nuevonombre="$nombrearchivo $numero"
 
mv "$nombreoriginal" "$nuevonombre"

# bash --version
GNU bash, version 4.2.37(1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar nombre de archivo a uno con espacio dentro de script bash

Publicado por Jorge Romero (2 intervenciones) el 31/12/2013 00:26:35
Muchas Gracias, con eso se resolvió todo el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar