Gnuget
Blog de David Valdez

Top menu

Pasando de latint1 a utf8

Written by Gnuget on 2008.07.08

 Hace tiempo tuve que migrar una web  completa (hecha a la antigua puro HTML)  y   al ponerla en el nuevo servidor me di cuenta que  los archivos estaban hechos en  LATIN1.

Así que cree un pequeño script en bash para pasarlos a utf8  y  que ahora comparto con ustedes:

#! /bin/bash
#Este script cambia de latin1 a utf8
#@author
David Valdez    

echo "corrigiendo encode de la carpeta " `pwd`

for n in `ls | grep .*\.txt `
  do
  if test -f  $n
      then
      iconv $n -f  Latin1 -t utf8 -o ${n}.bak
      mv ${n}.bak $n
  fi
done

#esto
es para hacerlo recursivo                                              
                                                                       
                                                           
for i  in `ls`
  do
  if test -d $i
      then
      cd $i
      $HOME/changeEncode.sh
      cd ..
  fi
done

Lo único que se tiene que hacer es poner el script en la carpeta padre donde queramos  cambiar el encoding de nuestros archivos y ejecutarlo,  el script visitara  cada archivo y subcarpeta cambiando  la codificación de nuestros archivos.

Es todo

Etiquetas

bash

Sobre el autor

50x50_c8b47ce5a5fe37962c6260013711baf6_25911_f838319658.jpg
Gnuget

Programador de tiempo completo,  Con enorme gusto  por el software libre.


Comentarios

apps/link jueves 10 de julio, 2008 @ 13:57

apps/guest-comment MaoP

creo que se puede hacer con algo así:

 find /path -type f -exec iconv -f latin1 -t uf8 {} -o {}

Saludos…

Escribe tu comentario