Article View: es.comp.os.linux.programacion
Article #313Re: ¿Como cortar una expresion regular?
From: Pascal J. Bourguignon
Date: Wed, 03 Jun 2009 07:45
Date: Wed, 03 Jun 2009 07:45
69 lines
3485 bytes
3485 bytes
Bypper <bypper@microsoft.com> writes: > Buenas: > > Tengo un fichero con lineas de este tipo: > > "13/12/2006";"COMPRA T.C. EL CORTE > INGLES";"13/12/2006";"-37";"1.2e+03";"-6.2e+03";"2e+05";;"0";"-37" > > Y algunas lineas de este tipo: > > ;"febrero";"2811.5";"-4155.07";"-1343.57";"831.229999999999" �Oy! �Qu� rico! :-) > ;"febrero";"0" > ;"marzo" > ^L > > etc. > > bien, el caso es que las del 2� tipo las quiero desechar y procesar > unicamente las del primero. Bien. Comparemos: "13/12/2006";"COMPRA T.C. EL CORTE INGLES";"13/12/2006";"-37";"1.2e+03";"-6.2e+03";"2e+05";;"0";"-37" ;"febrero";"2811.5";"-4155.07";"-1343.57";"831.229999999999" "... ;... Entonces para descartar las segundas, basta hacer: grep -v -e '^;' < movimientos.csv # o egrep -v, es igual. > Esto lo estoy haciendo procesando las lineas y filtrandolas con egrep > y una expresi�n regular, tal que as�: > > | egrep ^\"[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]\"; > > de esta manera, extraigo unicamente las que empiezan con una fecha, > como est� en el ejemplo, hasta ahi bien, Vale. > el problema es que hay alguna > linea como esta: > > "27/05/2008";"RECIBO ** PELAYO MUTUA D";"27/05/2008";"-345.48";"608.96";;;;"0";"-345.48" > > y ahi, la expresi�n regular coge los asteriscos y me muestra todos los > ficheros del directorio actual, y mi pregunta es obvia: > > �como puedo evitar que procese los caracteres que siguen a mi > expresion regular y as� evitar este problema? Si no haces tonterias, no deberia occurir. Pero no nos muestras lo que haces realmente, qu� comando das, asi que no podemos decir nada. Los asteriscos son en un archivos, no hay manera si no haces algo muy particular, para que el shell los interprete de ningun manera. -- __Pascal Bourguignon__
Technical Details
Message-ID:
<87bpp5g3q8.fsf@galatea.local>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.straub-nv.de!feeder.erje.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp9-2.free.fr!not-for-mailReferences:
<pjjhf6-dqd.ln1@apevia.bersol.sytes.net>Show Full Headers
Complete Article Headers
X-Google-Thread: 646d03421f,179545d58d4c0ab7
X-Google-Attributes: gid646d03421f,public,usenet
X-Google-NewGroupId: yes
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.straub-nv.de!feeder.erje.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp9-2.free.fr!not-for-mail
Newsgroups: es.comp.os.linux.programacion
Subject: Re: ¿Como cortar una expresion regular?
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA
oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9
033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac
l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR
mV+hO/VvFAAAAABJRU5ErkJggg==
X-Accept-Language: fr, es, en
X-Disabled: X-No-Archive: no
References: <pjjhf6-dqd.ln1@apevia.bersol.sytes.net>
From: pjb@informatimago.com (Pascal J. Bourguignon)
Date: Wed, 03 Jun 2009 09:45:35 +0200
Message-ID: <87bpp5g3q8.fsf@galatea.local>
Organization: Informatimago
User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/22.3 (darwin)
Cancel-Lock: sha1:NmYyMzhhNjFkZDhkZDAzYmYyZGUxZDEzNDhkNzQwNGNjZjRiYTg1MA==
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Lines: 69
NNTP-Posting-Date: 03 Jun 2009 09:45:37 MEST
NNTP-Posting-Host: 88.182.134.169
X-Trace: 1244015137 news-2.free.fr 29600 88.182.134.169:61611
X-Complaints-To: abuse@proxad.net