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