Eliminar linea de un archivo similar a comando GREP

Horst von Brand vonbrand en inf.utfsm.cl
Dom Ago 28 21:57:32 CLT 2005


Jesus Aneiros Sosa <aneiros en finf.ucf.edu.cu> wrote:
> On Sat, 27 Aug 2005, Cristian Gutierrez wrote:
> > Hoy en la tarde, Roberto Bonvallet dijo:
> > > Astor Giacomo escribio:
> > >> On Saturday 27 August 2005 01:43, Julio Retamal Rojas wrote:

> > >> > Tengo un archivo que contiene 640.000 lineas y hay lineas que
> > >> > tienen un texto en especial y necesito hacer un proceso que busque
> > >> > en todo el archivo y elimine esa linea.

> > >> Como desagravio al pobre (y aparentemente olvidado) sed(1), me permito
> > >> sugerir
> > >> 
> > >>    sed '/is taked/d' xaa

> > > Para no quedarme atras:
> > >
> > >     vim +g,is\ taked,d +wq xaa

> > Y ya que el publico lo pide:

> >     emacs -batch -q xaa  -eval '(progn (flush-lines "is taked")(save-buffer)(kill-emacs))'

> Con todo respeto: la opcion con vim muy fea

Ni tanto... no sabia que vim acepta comandos por argumentos, yo habria
hecho algo del corte:

  (echo g/is taked/d; echo w; echo q) | ed xaa

o:

  (echo g/is taked/d; echo x) | ex xaa

Si eres de la religion ed(1) o sucesores (ex(1), vi(1), etc) es logico;
incluso mas, es simplemente el comando obvio para la tarea entre manos,
solo que dado de forma ligeramente inusual.

>                                             y la de emacs horrible!

Tambien es bastante logico, si eres seguidor de la religion emacs(1).

>                                                                     Nada 
> que ver con UNIX.

Porque no?

>                   Seria interesante saber el tiempo que les tomo a cada 
> uno dar con ellas para comparar con las mas "intuitivas" de grep(1) o 
> sed(1).

Diria que mas o menos el mismo tiempo.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


Más información sobre la lista de distribución Linux