¿Cómo puede cat / imprimir un archivo excepto las últimas 2 líneas?

7

¿Cómo se puede obtener un archivo, excepto las últimas (por ejemplo) 2 líneas, con estándar o herramientas de shell GNU? (bash, cola, gato y así sucesivamente.)

Prof. Falken
fuente
Algo especial en esas últimas líneas, así que puedes usar grep(1)?
vonbrand
@vonbrand, no, nada que se sepa.
Prof. Falken

Respuestas:

15

Usa el comando head de coreutils:

head -n -2

Ver info head para más.

Thor
fuente
1
Información en lugar de hombre, atrevido, mi buen amigo. ;) +1
Prof. Falken
@AmigableClarkKant: las páginas de manual de coreutils no están tan bien mantenidas como las páginas de información de texto, no es que la documentación principal difiera mucho entre las dos.
Thor
5

Simplemente quieres

head -n-2 file

Leer man head para más información.

iiSeymour
fuente
0

Este comando da la totalidad. $file excepto el último $except número de líneas:

length=$(wc -l $file); head -n $((${length%% *}-except)) $file

(Sin comprobar si $except es mayor que el número total de líneas de $file...)

PePa
fuente