[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [BASH] Detectar una línea en blanco y cortar el fichero



El Martes, 14 de Febrero de 2006 18:51, Iñaki escribió:
> El Martes, 14 de Febrero de 2006 18:32, Iñaki escribió:
> > Hola, llevo rato con un script que necesito para mañana y no sé por dónde
> > cogerlo. Me falta un trocito que debe hacer lo siguiente:
> >
> > Tengo un fichero que siempre es más o menos así:
> >
> > ------------------------------------------------------------------------
> > A 1212
> > B 2323232323
> > C 121212121212121212
> > D 21212121212
> >
> > Received jasjijasd
> > asd
> > asd
> > as
> > da
> >
> > sd
> > asd
> > a
> >
> > sda
> > sd
> > -------------------------------------------------------------------------
> >-- --
> >
> > El número de líneas antes de la línea en blanco es variable, así que no
> > me sirve "sed" para mi propósito.
> >
> > Necesito obtener ese fichero pero quitándole todas las líneas antes de la
> > primera línea en blanco (puede que haya más pero sólo debe actuar hasta
> > la primera). La cosa es que el archivo quede así:
> >
> > -------------------------------------------------------------------------
> >-- -- Received jasjijasd
> > asd
> > asd
> > as
> > da
> >
> > sd
> > asd
> > a
> >
> > sda
> > sd
> > -------------------------------------------------------------------------
> >-- --
> >
> >
> > Se me ocurre que un script lea línea a línea el fichero y suprima cada
> > línea hasta llegar a la primera en blanco (inclusive). Pero el problema
> > es que no sé llevarlo a la práctica. ¿Alguien puede orientarme un poco?
> > aunque sólo sea una indicación de por dónde tirar se lo agradecería
> > mucho.
> >
> >
> > Un saludo a todos.
>
> También se me ocurre otra idea: llamar al script así:
>
> #>   cat fichero.txt | script > fichero2.txt
>
> y ese script recogería cada línea del fichero por la entrada estándar y
> sólo sacaría las que cumplan la condición correspondiente que se guardarían
> en "fichero2.txt".
>
> El problema es que no tengo ni idea de cómo manipular los datos de la
> entrada estándar en Bash, y no encuentro nada al respecto, me parece
> extraño. ¿Alguna pista?

Ups, mira que era fácil:
  read INPUT
  echo $INPUT

Bueno, con esto lo veo más potable, a ver si me sale.


-- 
y hasta aquí puedo leer...



Reply to: