[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Consulta sobre sed.



Gabriel Bueno escreveu:
>> -----Mensaje original-----
>> De: Miguel Da Silva - Centro de Matemática [mailto:mdasilva@fing.edu.uy]
>> Enviado el: Jueves, 20 de Diciembre de 2007 17:06
>> Para: dus
>> Asunto: Consulta sobre sed.
>>
>>
>> Estimados, tengo unos archivos de texto cuyos datos son separados por la
>> secuencia "::". Un ejemplo sería así...
>>
>> Debian::Gentoo::Solaris
>>
>> Y otro ejemplo sería:
>>
>> ::Gentoo::
>>
>> Y además variantes de estos 2 ejemplos dados; o sea, puede haber pares
>> de "::" seguidos. Pero lo que importa es lo siguinte...
>>
>> El último campo (el número 30) trae un dato que tiene que estar en el
>> décimo campo y además, se mueve hacia la derecha los demás campos.
>>
>> Ejemplo...
>>
>> Debian::Gentoo::Solaris::Slackware::CentOS::Fedora
>>
>> Debian::Gentoo::Fedora::Slackware::CentOS::Solaris
>>
>> La cuestión es que no quisiera hacer esto en C y estuve viendo de
>> hacerlo son sed u otra herramienta similar.
>>
>> Pero casi no uso sed y lo que hice fue muy sencillo.
>>
>> Alguna sugerencia?!
>>
> 
> Yo lo haria con awk
> 
> #!/bin/bash
> awk -F"::"'{print
> $1"::"$2"::"$3"::"........"::"$30"::"$11"::"...."::"$29"::"$10}'
> 
> O con php
> 
> <?php
> $file = fopen($archivo, r);
> while($linea = fgets($file))
> {
> 	$campo = explode("::",$linea);
> 	for ($i=0;$i<9;i++)
> 	{
> 		$linea_nueva .= $campo[$i];
> 	}
> 	$linea_nueva .= $campo[30];
> 	for ($i=11;$i<29;i++)
> 	{
> 		$linea_nueva .= $campo[$i];
> 	}
> 	$linea_nueva .= $campo[10];
> }
> ?>
> 
> No soy programador asi que seguro esto no va a andar...jeje
> Pero yo lo encararia por alguna de las dos formas.
> 
> Saludos
> 
> 

Pruebo mañana!!! Ya volvi a casa y eso es cosas del trabajo :)

Gracias por la sugerencia... voy a probar con awk porque si lo encaro
con php prefiero hacerlo con C :)

Saludos.
-- 
Miguel Da Silva
Administrador de Red
Centro de Matemática - http://www.cmat.edu.uy
Facultad de Ciencias - http://www.fcien.edu.uy
Universidad de la República - http://www.rau.edu.uy


Reply to: