Jordi Pina wrote: > 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 > > 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...
Esos espacios son porque cada palabra cuenta como un item distinto, asi que ejecutaras el cut.. para cada palabra (vale decir pinux.info:Soc, en, carles...). > > 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 Se me ocurre lo siguiente (no es lo mas elegante, pero funciona): cat archivo | awk '{ print $1 }' | sed -e 's/:.*//' > Un saludo y gracias! De que -- Felipe Sateler -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]