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

Re: Tema Bash (cadenas)



El lun, 10-07-2006 a las 21:52 +0200, Jordi Pina escribió:
> Buenas,
> 
> aunque la lista sea de Debian supongo que no es off-topic una preguntilla 
> sobre bash ;)
> 
> Bien, vamos al tema.
> 
> Tengo un archivo que dice:
> 
> pinux.info:Sóc en Carles Pina i Estany
> catux.org:bla
> 
> Y necesito leerlo y poner en una variable lo que hay delante de ":" 
> (pinux.info y catux.org), uno debajo de otro.
> 
> Lo he "conseguido" haciendo:
> 
> function web {
>         for cadena in $( cat web.txt ); do
>                 # ABANS
>                 cadenaabans=`echo "$cadena" | cut -d: -s -f1`
>                 echo $cadenaabans
> done
> 
> Pero me muestra:
> pinux.info
> 
> 
> 
> 
> 
> catux.org
> 
> En lugar de:
> pinux.info
> catux.org
> 

Hola, mira si te puede valer:

web() {
cadenas=$(awk -F":" '{print $1}' web.txt); echo -e $cadenas
}

o bien

web2(){
cadenas=$(awk -F":" '{print $1}' web.txt)
for cad in $cadenas; do echo $cad; done
}

La primera sin saltos, la segunda con saltos (uno por cada variable).

> Los espacios que hay en medio son las palabras que habrian (Sóc en Carles Pina 
> i Estany), que he hecho que no se pinten pasando el parámetro -s al cut, pero 
> aún y no pintarse dejan los espacios, que es lo que me molesta...
> 
> En fin, si alguien me puede decir como conseguir dejar en una variable lo de 
> antes de los : sin saltos de línea le estaría muy agradecido :D
> 
> Un saludo y gracias!
> 
-- 
http://soleup.eup.uva.es/mariodebian

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente


Reply to: