#!/bin/sh # La linea superior indica al SO el interprete #Este shell script sustituye los acentos y "eñes" por su equivalente HTML en todos los ficheros .html de un directorio y subdirectorios. #Forzamos la salida si algun parametro no se ejecuta bien #de lo contrario se seguiria pese a que hubise algun error set -e #Forzamos la salida si alguna variable no es definida set -u ########################### # Esta función procesa el directorio actual procesar_este_directorio() { # Creamos un fichero temporal touch ficheroTemporalHtml.html # Para cada fichero .html sustituimos los acentos y las "eñes" por su equivalente html for archivo in *html; do cp $archivo ${archivo}.bak cat ${archivo}.bak | sed -e 's/á/\á/g' -e 's/é/\é/g' -e 's/í/\í/g' -e 's/ó/\ó/g' -e 's/ú/\ú/g' -e 's/ñ/\ñ/g' -e 's/Á/\Á/g' -e 's/É/\É/g' -e 's/Í/\Í/g' -e 's/Ó/\Ó/g' -e 's/Ú/\Ú/g' -e 's/Ñ/\Ñ/g' -e 's/©/\©/g' -e 's/¡/\¡/g' -e 's/§/\§/g' -e 's/ª/\ª/g' -e 's/«/\«/g' -e 's/®/\®/g' -e 's/±/\±/g' -e 's/²/\²/g' -e 's/³/\³/g' -e 's/¶/\¶/g' -e 's/º/\º/g' -e 's/»/\»/g' -e 's/¿/\¿/g' -e 's/Æ/\Æ/g' -e 's/Ç/\Ç/g' -e 's/æ/\æ/g' -e 's/ç/\ç/g' -e 's/Ü/\Ü/g' -e 's/ü/\ü/g' > $archivo rm ${archivo}.bak done #Borramos el fichero temporal rm ficheroTemporalHtml.html } # Esta función busca subdirectorios recursivamente y los procesa buscar_subdirectorios() { # Para todos los elementos que se encuentren en el directorio actual for i in *; do # Si es un directorio if [ -d $i ]; then # Procesamos el subdirectorio y buscamos subsubdirectorios echo "Procesamos el directorio $i..." cd $i procesar_este_directorio buscar_subdirectorios cd .. fi done } ########################### echo "Procesando el directorio actual $PWD..." procesar_este_directorio buscar_subdirectorios echo "Proceso de colocar acentos terminado."