El mar, 13-03-2007 a las 13:44 -0600, user name escribió: > On 3/13/07, Javier Ruano <adrakoa@es.gnu.org> wrote: > Iñigo Tejedor Arrondo wrote: > > El mar, 13-03-2007 a las 12:08 -0600, user name escribió: > >> Vengo con otro problema con el manejo de archivos, tengo un > archivo > >> así: > >> > >> CHICHARRONES KILO 27.4 18.2 > -2.3 7.2 > >> 36.1 15.70 581.50 113.04 > >> > >> como podría hacer que quedara así: > >> > >> CHICHARRONES > >> PODRIDOS,KILO,27.4,18.2,-2.3,7.2,36.1,15.70,581.50 ,113.04 > >> > >> Es decir, los campos separados por comas, pero, el problema > es que a > >> veces el primer campo es de una palabra pero a veces es de > dos, como > >> podría hacerle? > >> > >> > >> muchas gracias por su ayuda > > > > 1º) no soy guru ni de sed ni de perl (ni de nada) > > 2º) los gurus no nacen... se hacen (lee documentación y > experimenta) > Aplauso :) ... info sed, info gawk, man perltoc, ... > google ... > > > osea, no es que no haya leido acerca del manejo de expresiones > regulares, solo que no encuentro como hacer esto, solo eso me falta > para terminar un script que estoy haciendo, el chiste es que es un > archivo con varias lineas de texto parecidas a las que les puse, y > debo delimitarlo por comas, pero el problema es que el primer campo a > veces es una palabra y a veces dos, ese es el chiste ;) > entonces busca una particularidad que pueda distinguir el 2do y3er campo En el ejemplo que mostras, aparentemente el 2do campo es una constante, armate una tabla de constantes que esten el 2do campo ycomparalas con la linea parseada; si coindide, separas por coma, si no es la segunda palabra del 1er campo, lo mismo para el tercero Con perl es muy facil de hacer > gracias -- Angel Claudio Alvarez Usuario Linux Registrado 143466 GPG Public Key en http://pgp.mit.edu key fingerprint = 3AED D95B 7E2D E954 61C8 F505 1884 473C FC8C 8AC4
Attachment:
signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente