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
signature.asc
Description: Esta parte del mensaje está firmada digitalmente

