🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
8 messages
8 total messages Started by miguelblas Fri, 10 Mar 2006 10:49
problema con parseo de fichero
#1191
Author: miguelblas
Date: Fri, 10 Mar 2006 10:49
20 lines
1602 bytes
Tengo un fichero con cadenas separadas por puntos, de distinta longitud
y distinto numero de campos, p.e. y sustituir el ultimo punto con un
"|" (como min. 3 campos)

entrada:
    aaaa.bbbb.cccc.dddd
    AAAA.BB.C.DDD
    1111.2222.33
    aaaaa.bbbb.cccc
    AAAA.BB.C.DDDDDD
salida:
    aaaa.bbbb.cccc|dddd
    AAAA.BB.C|DDD
    1111.2222|33
    aaaaa.bbbb|cccc
    AAAA.BB.C|DDDDDD

Existe algun comando (en ksh) para recoger esta salida (lo he intentado
sed pero no me sale) 
Gracias
Re: problema con parseo de fichero
#1192
Author: David Serrano (Hue-Bond)
Date: Fri, 10 Mar 2006 12:10
27 lines
1627 bytes
miguelblas, vie20060310@11:49:14(CET):
>
> Tengo un fichero con cadenas separadas por puntos, de distinta longitud
> y distinto numero de campos, p.e. y sustituir el ultimo punto con un
> "|" (como min. 3 campos)

Por ejemplo:

$ cat > foo
    aaaa.bbbb.cccc.dddd
    AAAA.BB.C.DDD
    1111.2222.33
    aaaaa.bbbb.cccc
    AAAA.BB.C.DDDDDD
    cucu.quetal
$ perl -pe's/(\.[^.]+)\.([^.]+)$/$1|$2/' foo
    aaaa.bbbb.cccc|dddd
    AAAA.BB.C|DDD
    1111.2222|33
    aaaaa.bbbb|cccc
    AAAA.BB.C|DDDDDD
    cucu.quetal
$ _


-- 
 David Serrano
Re: problema con parseo de fichero
#1193
Author: Jos� Luis P�rez Diez
Date: Fri, 10 Mar 2006 12:29
31 lines
1988 bytes
In article <1141987754.521122.280900@e56g2000cwe.googlegroups.com>, 
Miguelblas wrote:
> Tengo un fichero con cadenas separadas por puntos, de distinta longitud
> y distinto numero de campos, p.e. y sustituir el ultimo punto con un
> "|" (como min. 3 campos)
>


$ perl -pe 's{(\.[^\.]*)\.([^\.]*$)}{$1\|$2}' <<EOF
>    aaaa.bbbb.cccc.dddd
>     AAAA.BB.C.DDD
>     1111.2222.33
>     aaaaa.bbbb.cccc
>     AAAA.BB.C.DDDDDD
> AAA.bb
> EOF
   aaaa.bbbb.cccc|dddd
    AAAA.BB.C|DDD
    1111.2222|33
    aaaaa.bbbb|cccc
    AAAA.BB.C|DDDDDD
AAA.bb

Supongo que con sed o awk sera tambien sencillo.

Para mas informacion perldoc perlre y perldoc perlrun

--
Los programadores esta ocupados intendtado mejorar los programas a prueba 
de idiotas. Mientras tanto el universo  intenta mejorar los idiotas. El 
universo va ganando
Re: problema con parseo de fichero
#1196
Author: miguelblas
Date: Fri, 10 Mar 2006 13:39
2 lines
1411 bytes
Muchas gracias,
¿Alguien lo ha conseguido con sed o awk? Es puro morbo...je je
Re: problema con parseo de fichero
#1199
Author: Sergio G.G
Date: Fri, 10 Mar 2006 19:39
12 lines
1507 bytes
On 2006-03-10, miguelblas <miguelblas@terra.es> wrote:
> Muchas gracias,
> �Alguien lo ha conseguido con sed o awk? Es puro morbo...je je
>

Hola.

Con sed queda casi igual que con perl:

sed 's/\(\.[^.]\+\)\.\([^.]\+$\)/\1|\2/' foo

Un saludo.
Re: problema con parseo de fichero
#1202
Author: miguelblas
Date: Fri, 10 Mar 2006 23:32
1 lines
1390 bytes
Gracias
Re: problema con parseo de fichero
#1204
Author: David Serrano (Hue-Bond)
Date: Sat, 11 Mar 2006 16:50
10 lines
1541 bytes
José Luis Pérez Diez, vie20060310@13:29:33(CET):
>
> $ perl -pe 's{(\.[^\.]*)\.([^\.]*$)}{$1\|$2}' <<EOF
                     ^^        ^^        ^^

No tiene sentido escapar el punto y la pipa en esos contextos.


-- 
 David Serrano
Re: problema con parseo de fichero
#1210
Author: Jos� Luis P�rez Diez
Date: Mon, 13 Mar 2006 11:30
18 lines
1939 bytes
In article 
<slrne15vv6.j1p.responder_solo_en_el_grupo@genus.hue-bond.info>, David 
Serrano (Hue-Bond) wrote:
> José Luis Pérez Diez, vie20060310@13:29:33(CET):
> >
> > $ perl -pe 's{(\.[^\.]*)\.([^\.]*$)}{$1\|$2}' <<EOF
>                      ^^        ^^        ^^
> 
> No tiene sentido escapar el punto y la pipa en esos contextos.
>
Si pero es la pu�etera costubre de usar cinturon y tirantes.
Yo por costubre siempre escapo los caracteres especiales total solo lo 
tiene que compilar una vez

--
Los programadores esta ocupados intendtado mejorar los programas a 
prueba de idiotas. Mientras tanto el universo  intenta mejorar los 
idiotas. El universo va ganando
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads