[ubuntu-gt] Consulta de Bash

Peter Grant plgmgua en gmail.com
Mar Feb 9 03:48:36 GMT 2010


2010/2/4 Richard Flores <kayrosama en hotmail.com>

>  Saludos Peter Grant,
>
> Amigo, se me ocurre lo siguiente, en un archivo.sh digitas lo siguiente:
>
> /* ------------------------------- */
> #!/bin/bash
> for i in `cat fraces.txt | cut -d' ' -f1 | grep -n ''`
> do
> line=`echo -e "$i" | cut -d: -f1`
> word=`echo -e "$i" | cut -d: -f2`
> echo -e "la linea  = $line y la palabra = $word"
> sleep 1
> done
> /* ------------------------------- */
>
> este leera el archivo "fraces.txt" con loas siguientes lineas:
>
> /* ------------------------------- */
> esta es una prueba
> para leer la priemra
> palabra de cada linea
> esperemos que funcione
> saludos amigos mios
> /* ------------------------------- */
>
> Si quieres que el archivo.sh lea cualquier archivo con lineas solo tienes
> el nombre del fichero por "$1":
>
> /* ------------------------------- */
> #!/bin/bash
> for i in `cat $1 | cut -d' ' -f1 | grep -n ''`
> do
> line=`echo -e "$i" | cut -d: -f1`
> word=`echo -e "$i" | cut -d: -f2`
> echo -e "la linea  = $line y la palabra = $word"
> sleep 1
> done
> /* ------------------------------- */
>
> y para ejecutar el archivo seria de la sigueinte forma:
>
> ./archivo.sh fraces.txt
>
> X-favor tus comentarios.
>
> Salu2.
>
> #---------*---------*---------*---------*---------*
> IT Richard Flores.
> Technical Support GNU/Linux & Unix
> Kayro Sama, Ink.
> Linux User #285690
>



Excelente codigo Muchas Gracias

Esto lo necesitaba para borrar unos registros del sybase desde la consola y
la primera palabra de cada linea contiene el identificador del registro que
se borra y que es necesario hacerlo uno a la vez por cuestion scripts ya
hechos.

adicional a eso tuve que eliminar un espacio en blanco que tenia cada linea
al inicio, con el siguiente comando:
*
sed 's/^ *//' frances.txt > frances2.txt*

Con lo que el script quedaria asi:

/* ------------------------------- */
#!/bin/bash
sed 's/^ *//' frances.txt > frances2.txt
for i in `cat fraces2.txt | cut -d' ' -f1 | grep -n ''`
do
word=`echo -e "$i" | cut -d: -f2`
echo -e "# de suceso:  = $word"
sleep 1
done
/* ------------------------------- */

Agradezco el aporte!!!!

Peter Grant
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://lists.ubuntu.com/archives/ubuntu-gt/attachments/20100208/784ffdb2/attachment.htm 


Más información sobre la lista de distribución ubuntu-gt