[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 Febrero 2006 14: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.

Creo que lo encontré. Probá con : 

$ grep --after-context=1000 ^\$ entrada.txt | sed '1,1d'   >salida.txt

A mí me funcionó con el ejemplo que diste. El número "1000" es nada más que un 
número grande, podrías poner la cantidad de líneas del archivo (con wc -l) y 
ahí sería más general.






Reply to: