script de lectura y eliminacion de datos de un archivo
especifico
Claudio Sebastian Salazar Sepulveda
csalazar en inf.utfsm.cl
Mie Mar 9 20:05:52 CLST 2005
cristian madrid dijo:
> Hola listeros tengo un pequeño problema con un script que estoy escrbiendo
> este script esta encargado de solictar datos luego concatenarlos en otro
> archivo para asi poder almacenarlos uno tras otro en lineas
> horizontales ,pero el problemas esta cuando deseo eliminar uno de estos
> elemento ubicados en lineas horizontales por ejemplo
>
> (estos datos estan almacenados en un archivo.old)
> 1.- dato_linea_1
> 2.- dato_linea_2
> 3.- dato_linea_3
> 4.- dato_linea_4
> 5.- dato_linea_5
> 6.- dato_linea_6
> 7.- dato_linea_7
>
> supongamos que quiero eliminar los datos de la linea 3 y la linea 6
> para poder saber si los contiene hago un
> grep 4 /datos/archivo.old
> grep 6 /datos/archivo.old
>
> tengo claro que con grep puedo leer y saber si el archivo.old contiene
> dato_linea_4 y dato_linea_6 y que sale facil edita manualmente el archvo con
> vi y eliminar pero como esto va dentro de un script nesecito que sea
> automatico , desde el script llamar algo que ubique esa linea que contiene la
> informacion y luego que la borre mi duda es que comando utilizo para poder
> ubicar el eliminar esas lineas de manera que mi archivo me quede
>
> 1.- dato_linea_1
> 2.- dato_linea_2
> 3.- dato_linea_3
> 5.- dato_linea_5
> 7.- dato_linea_5
Yo creo que seria de gran utilidad que ocuparas AWK para tratar de quitar
esas lineas que quieres sacar. awk es un gran lenguaje para scripts en
bash y se maneja muy bien con datos dentro de archivos.
Deberias dentro del mismo script hacer una sentencia donde puedas
introducir el numero de linea, luego guardarla en una variable y trabajar
con ella en awk.
Aqui encontre un tutorial, ojala sea de utilidad, igual en google hay
varios.
http://www.linux.org.uy/uylug/cursos/awk/awk.html
Saludos.
--
Claudio Salazar S.
Ingeniera Civil Informatica [ 1º Año ]
mail : coolwaydesign en hotmail.com
Más información sobre la lista de distribución Linux