Renombrar archivos desde la linea de ordenes

El otro día estuve intentando cambiar la extensión de un montón de archivos a .htm y pase un buen rato tratando de hacer un script que lo hiciera automáticamente, pero no hubo forma (si, soy un gañan programando, tengo un montón de info sobre el tema, pero no me he puesto en serio con ello). Por ello, me ha parecido interesante colocar aquí estas ordenes para realizar dicha tarea desde la shell (las encontré aquí):

Change extension from .php to .html:

  1. find . -name ‘*.php’ > php_files.txt
  2. for x in `cat php_files.txt`; do mv $x `echo $x | sed ’s/\(.*\.\)php/\1html/’` ; done

Change .gif links to .jpg within html files:

  1. find . -name ‘*.html’ > html_files.txt
  2. for x in `cat html_files.txt`; do cat $x | sed -e ’s/.gif/.jpg/g’ < $x > $x.new; done

Now you have to remove .new extension:

  1. find . -name ‘*.new’ > new_files.txt
  2. for x in `cat new_files.txt`; do mv “$x” “`echo $x | sed -e ’s/.new//g’`” ; done

This removes extension .new and and leaves the updated as .html with new jpg links in place.

PD: estoy en Windows y no me aparecen los acentos… 😮 (los que aparecen son gracias al corrector de FFox). Me esta dando mal royo, así que voy a desconectarme y revisar el sistema…

1 Comment »

  1. 1
    danubuntu Says:

    Otro post interesante que trata de este asunto; esta vez para eliminar una frase inicial del nombre de muchos archivos:

    Los ficheros empezaban todos con “the brand new heavies – we won’t stop – “, y a continuación venía el nombre de la canción. Para eliminar el prefijo he intentado usar KRename, pero no encontraba la opción, así que finalmente he ejecutado esta orden:

    ls | sed -rn “s/the brand new heavies – we won’t stop – (.*)/mv \”&\” \”\1\” / p” | sh

    Like


RSS Feed for this entry

Leave a comment