[Programación] Re: [Programación] sed--->perl, ayuda
Federico Wiecko
programacion@lugro.org.ar
Sat, 30 Jul 2005 12:44:17 -0300
Hola Horacio,
bueno .. esta hecho medio así nomas, sin optimizar la sustitución de patrones
y sin probar .. pero te sirve de base.
Supongo que si fuiste al curso no tendrás problemas en mejorarlo.
Slds.
Federico .-
P.D: no encontré en sed ningún significado para el caracter ? (por lo menos
el de la FSF que viene con Linux), así que lo comenté ya que en Perl tiene un
significado especial (puede que lo del sed no sea así). Te aconsejo además,
ir probándolo linea por linea comparandolo con el script shell.
#!/usr/bin/perl -w
#Script de prueba pp.pl
while (<>)
{
s/=\?iso-8859-1\?//g;
s/q\?//g;
s/Q\?//g;
s/=A1//g;
s/=0D//g;
s/Re://g;
s/RE://g;
s/RV://g;
s/Re\[[1-9]\]://g;
s/=\?ISO-8859-1\?//g;
s/\"//g;s/_//g;
s/=\?windows-1252\?//g;
s/=\?utf-8\?//g;
s/=\?us-ascii\?//g;
s/\[windows-1252\]//g;
s/=\?utf-8\?//g;
s/=\?us-ascii\?//g;
s/\[windows-1252\]//g;
s/=\?iso-8859-15\?//g;
s/{Spam\?}//g;
s/(//g;
s/)//g;
s/=E1/á/g;
s/=E9/é/g;
s/=ED/í/g;
s/=F3/ó/g;
s/=F1/ñ/g;
s/=C3/á/g;
s/=FA/ú/g;
s/\\+/\/g; #esto supuestamente debería hacer lo mismo que el tr
print;
}
para probar
chmod u+x pp.pl
./pp.pl < data
On Friday 29 July 2005 19:18, Horacio Castellini wrote:
> Hola, alguien me puede dar una mano de como trasformo estas sustituciones
> en sed (stream editor) a perl? es decir como manejo las expresiones
> regulares para obtener igual resultado...
>
> #!/bin/sh
> zcat $1|sed 's/=?iso-8859-1?//g;s/q?//g;s/Q?//g' >$A
> cat $A|sed 's/=A1//g;s/=0D//g;s/Re://g;s/RE://g' >$B
> cat $B|sed 's/RV://g;s/Re\[[1-9]\]://g;s/=?ISO-8859-1?//g' >$A
> cat $A|sed 's/\"//g;s/_//g;s/=?windows-1252?//g' >$B
> cat $B|sed 's/=?utf-8?//g;s/=?us-ascii?//g;s/\[windows-1252\]//g' >$A
> cat $A|sed 's/=?iso-8859-15?//g;s/{Spam?}//g;s/(//g;s/)//g' >$B
> # Coloca acentos y otros...
> cat $A|sed 's/=E1/á/g;s/=E9/é/g;s/=ED/í/g;s/=F3/ó/g'>$B
> cat $B|sed 's/=F1/ñ/g;s/=C3/á/g;s/=FA/ú/g'|tr -s \
>
> Chas gracias Horacio...
>
>
> _______________________________________________
> Programacion mailing list
> Programacion@lugro.org.ar
> http://www.lugro.org.ar/mailman/listinfo/programacion