GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo eliminar las primeras N líneas de un archivo ASCII usando los comandos de Shell?

Tengo varios archivos que contienen información de texto ascii en las primeras 5-10 líneas, seguidas de información de matriz bien tabulada. En un script de shell, quiero eliminar estas primeras líneas de texto para poder usar la información de matriz pura en otro programa. ¿Cómo puedo usar los comandos bash shell para hacer esto?

Si te sirve de ayuda, estoy usando RedHat y un sistema Ubuntu Linux.

Respuesta aceptada:

Siempre que el archivo no sea un enlace simbólico o un enlace fijo, puede usar sed, tail o awk. Ejemplo a continuación.

$ cat t.txt
12
34
56
78
90

sed

$ sed -e '1,3d' < t.txt
78
90

También puede usar sed en el lugar sin un archivo temporal:sed -i -e 1,3d yourfile . Esto no hará eco de nada, solo modificará el archivo en el lugar. Si no necesita canalizar el resultado a otro comando, esto es más fácil.

cola

$ tail -n +4 t.txt
78
90

wow

$ awk 'NR > 3 { print }' < t.txt
78
90

Linux
  1. ¿Cómo eliminar las primeras/últimas líneas 'n' de la salida del comando en Shell?

  2. ¿Cómo uso las líneas de un archivo como argumentos de un comando?

  3. ¿Cómo insertar un texto al principio de un archivo?

  4. Cómo usar sed para eliminar las últimas n líneas de un archivo

  5. ¿Cómo inserto texto en la primera línea de un archivo usando sed?

Cómo quitar líneas de un archivo usando el comando Sed

Cómo eliminar líneas vacías en archivos usando Grep, Sed y Awk

Tutorial de Unix Sed:eliminar líneas de archivos usando direcciones y patrones

Tutorial de Unix Sed:Cómo escribir en un archivo usando Sed

Cómo eliminar el texto seleccionado en el editor vi

Eliminar líneas vacías usando sed