[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: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?





-- 
y hasta aquí puedo leer...



Reply to: