Unix - renombrar ficheros

 
Vista:

renombrar ficheros

Publicado por Novato (2 intervenciones) el 21/11/2005 11:46:56
Hola, queria saber como podria renombrar archivos y directorios del directorio donde estoy y de los subdirectorios. Por ejemplo renombrar todos los archivos que contengan la palabra hola por adios. Asi quedaria:
2nhola1.txt -----------> 2nadios1.txt
23hola.jpg ------------> 23adios.jpg

Gracias.
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

RE:renombrar ficheros

Publicado por n0str0m0 (262 intervenciones) el 21/11/2005 13:57:13
Si utilizas el comando mv directamente obtendrás un error, es decir,

mv *hola* *adios* NO hará lo que quieres.

Me temo que la única forma es recorrer los ficheros con un for y aplicar el mv a cada uno de ellos.

Salu2
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

RE:renombrar ficheros

Publicado por Novato (2 intervenciones) el 21/11/2005 16:09:00
Y eso como se haria?? es que estoy muy pegado. No podrias explicarme como hacer el shell?? muchas gracias.
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

RE:renombrar ficheros

Publicado por n0str0m0 (262 intervenciones) el 21/11/2005 19:24:34
Sería algo como:

for fich in *.txt
do
mv $fich $fich.kk
done

Esto te cambiaría los ficheros como hola.txt hola1.txt, etc por hola.txt.kk, hola1.txt.kk, etc.

Lo que tú quieres es algo más avanzado así que lo mejor será que utilices primero sed o awk para sustituir los 'hola' por 'adios' en los nombres de los ficheros.

man sed
man awk

Salu2
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