Re: [GRULIC] grep no encuentra en ciertos archivos

Página Inicial
Anexos:
+ (text/plain)

Reply to this message
Autor: sergio -
Data:  
Para: Jorge.Addel, grulic
CC: 
Assunto: Re: [GRULIC] grep no encuentra en ciertos archivos
>
>Te mando un programa en C que recorre un archivo hasta el final y compara
>cada caracter verificando si es un caracter de control excepto salto de
>linea y fin de linea que son caracter que se pueden imprimir.
>Despues podes canalizar la salida a grep para que busque lo que quieras.
>
>-----------------------------------------------------------------------------
>#include "stdio.h"
>#include "ctype.h"
>int main(int argc, char *argv[]){
>int car;
>FILE *p;
>p = fopen(argv[1], "rb");
>
>while ( (car = fgetc(p)) != EOF )
>if( ! iscntrl( car ) || car == 0x0A || car == 0x0D) putchar(car);
>
>return 0;
>}


>From: Jorge.Addel@???
>To: serdeleo@???
>Subject: Re: [GRULIC] grep no encuentra en ciertos archivos
>Date: Thu, 4 Sep 2003 01:15:14 -0300
>
>
> > > >
> > > >
> > > >
> > > >
> > > >"sergio -" <serdeleo@???> con fecha 29/08/2003 01:49:29
> > > >
> > > >Destinatarios: Jorge.Addel@???
> > > >CC:
> > > >Asunto: Re: [GRULIC] grep no encuentra en ciertos archivos
> > > >
> > > >
> > > >Sobre el grep si copias el archivo tal como esta en el mail y lo
> >probas,
> > >va
> > > >a funcionar pero el tema es que el ejemplo que yo paso abajo es una
> >foto
> > > >del
> > > >archivo original los ^[ son control + [ , no se si me entendes ,
>todos
> > >los
> > > >caracteres raros que ver son no imprimibles (creo que asi le llaman).
> > > >De todos modos muchas gracias.
> > > >Saludos SErgio
> > > >
> > > >
> > > >
> > > > >From: Jorge.Addel@???
> > > > >To: serdeleo@???
> > > > >Subject: [GRULIC] grep no encuentra en ciertos archivos
> > > > >Date: Thu, 28 Aug 2003 05:39:15 -0300
> > > > >
> > > > >Yo probe hace un rato y funciona bien.
> > > > >
> > > > >
> > > > >grep 360.156/7 archivo
> > > > >
> > > > >y encuentra la cadena correctamente. 360.156/7. Sin poner \ ni
> > >comillas.
> > > > >Asi como escribi arriba.
> > > > >
> > > > >con respecto al script con awk lo que habria que hacer es declarar
>un
> > > >array
> > > > >para guardar cada linea leida del archivo
> > > > >y cuando es encontrada la cadena seguir la busqueda hacia adelante
>y
> >al
> > > > >pasar diez lineas mas, mostrar el array completo.
> > > > >Es medio enquilombado el algoritmo pero me parece que ese es un
> >camino.
> > > > >
> > > > >
> > > > >---------------------- Remitido por Jorge Addel/SANCOR con fecha
> > > >28/08/2003
> > > > >05:38 ---------------------------
> > > > >
> > > > >
> > > > >"sergio -" <serdeleo@???>@grulic.org.ar con fecha
>28/08/2003
> > > > >05:03:15
> > > > >
> > > > >Por favor, responda a Lista de correo del Grupo de Usuarios de
>Linux
> >en
> > > > > Cordoba <grulic@???>
> > > > >
> > > > >Enviado por: grulic-bounces@???
> > > > >
> > > > >
> > > > >Destinatarios: grulic@???
> > > > >CC:
> > > > >Asunto: [GRULIC] grep no encuentra en ciertos archivos
> > > > >
> > > > >
> > > > >Gente tengo el siguiente caso, trato de buscar un numero
>determinado
> > >con
> > > >el
> > > > >grep en un archivo como el que les muestro, donde esta plagado de
> > > > >caracteres
> > > > >de seteo de tipos de letras etc. el tema es que no me encuentra lo
> >que
> > > > >busco. Probe colocando una barra invertida antes del numero ,
>tambien
> > > > >encerrandolo con comillas dobles y nada.
> > > > >Otra cosa que quiero hacer es algo con awk que busque ese numerito
>y
> >me
> > > > >corte el archivo desde 10 lineas antes del numero hasta 10 lineas
> > > > >posteriores al mismo pero no llego a tanto todavia con el awk.
> > > > >Alguna sugerencia?
> > > > >El archivo es algo asi y busco por ejemplo el numero 360.156/7:
> > > > >
> > > > >.....
> > > > >^[E^[&a0L^[&a0M^[&l0E^[&l3A^[&l7C^[&f1Y^[&f3X^[*p0x0Y^M
> > > > >^[(8U^[(s1p08.00v0s3b16602T
> > > > >^[*p2232x0094Y26/11/2002^M
> > > > >^[(8U^[(s1p08.00v0s3b16602T
> > > > >^[*p2043x0165Y 1 de 2^M
> > > > >^[(8U^[(s1p08.00v0s3b16602T
> > > > >^[*p2161x0248Y0065-99526^M
> > > > >^[(8U^[(s1p10.00v0s3b16602T
> > > > >^[*p2114x0437Y360.156/7^M
> > > > >^[(8U^[(s1p08.00v0s0b16602T
> > > > >^[*p2114x0496Y002008624075^M
> > > > >^[(8U^[(s1p08.00v0s0b16602T
> > > > >^[(8U^[(s1p08.00v0s0b16602T
> > > > >^[*p2114x0590Y 1^M
> > > > >^[(8U^[(s1p10.00v0s3b16602T
> > > > >........
> > > > >
> > > > >_________________________________________________________________


Finalmente anduvo con el comando anterior que me pasaste, lo hice de la
siguiente manera:
tr -d "ESC" < nombrelistado.lst |grep numero-a-buscar > $$.tmp
Lo del "ESC" lo obtuve leyendo todos los registros con awk y mandandolo a
otro archivo y alli en lugar de mostrar los ^]]#$%/( etc. aparecia ESC con
algunos caracteres, ahora ni idea por que el awk le cambia la vista de este
modo.
Te agradezco por tu ayuda.
Saludos, Sergio

_________________________________________________________________
¿Estás buscando un auto nuevo?  http://www.yupimsn.com/autos/