GNU/Linux >> Tutoriales Linux >  >> Linux

Imprima un archivo, omitiendo las primeras líneas X, en Bash

Necesitarás cola. Algunos ejemplos:

$ tail great-big-file.log
< Last 10 lines of great-big-file.log >

Si realmente necesita OMITIR un número particular de "primeras" líneas, use

$ tail -n +<N+1> <filename>
< filename, excluding first N lines. >

Es decir, si desea omitir N líneas, comience a imprimir la línea N+1. Ejemplo:

$ tail -n +11 /tmp/myfile
< /tmp/myfile, starting at line 11, or skipping the first 10 lines. >

Si solo desea ver las últimas tantas líneas, omita el "+":

$ tail -n <N> <filename>
< last N lines of file. >

La forma más fácil que encontré para eliminar las primeras diez líneas de un archivo:

$ sed 1,10d file.txt

En el caso general donde X es el número de líneas iniciales para eliminar, crédito a los comentaristas y editores por esto:

$ sed 1,Xd file.txt

Si desea omitir las dos primeras líneas:

tail -n +3 <filename>

Si desea omitir la primera línea x:

tail -n +$((x+1)) <filename>

Si tiene cola GNU disponible en su sistema, puede hacer lo siguiente:

tail -n +1000001 huge-file.log

Es el + personaje que hace lo que quieres. Para citar de la página man:

Si el primer carácter de K (el número de bytes o líneas) es un `+', imprima comenzando con el K-ésimo elemento desde el inicio de cada archivo.

Por lo tanto, como se indica en el comentario, poner +1000001 comienza a imprimir con el primer elemento después de las primeras 1 000 000 líneas.


Linux
  1. ¿Cómo recorrer las líneas de un archivo?

  2. ¿Por qué The Bash Script no reconoce los alias?

  3. El Bash'?

  4. ¿Concatenar líneas basadas en el primer carácter de la siguiente línea?

  5. ¿Tail lee todo el archivo?

Cómo imprimir líneas duplicadas en un archivo de texto en Linux

5 formas de contar el número de líneas en un archivo

¿Cómo leer la última línea de un archivo de texto en una variable usando Bash?

Eliminar las primeras N líneas de un archivo de registro activo

¿Cómo imprimir la última línea de un archivo comprimido gz en la línea de comando?

Cambiar el orden de las líneas en un archivo