para mac consola comandos comando codigo buscar basicos archivo shell command-line terminal osx-lion

shell - consola - comando principal para omitir las últimas líneas de archivo en MAC OSX



mac buscar archivo (3)

Un one-liner de Python:

$ cat foo line 1 line 2 line 3 line 4 line 5 line 6 $ python -c "import sys; a=[]; [a.append(line) for line in sys.stdin]; [sys.stdout.write(l) for l in a[:-4]]" < foo line 1 line 2

Quiero mostrar todas las líneas de un archivo, pero omita las últimas 4, en Terminal.

Según la siguiente página de manual de UNIX podría ser una solución.

head -n -4 main.m

Página de MAN:

-n, --lines = [-] N imprime las primeras N líneas en lugar de las primeras 10; con el encabezado ''-'', imprima todas menos las últimas N líneas de cada archivo

Leo la página del hombre aquí. http://unixhelp.ed.ac.uk/CGI/man-cgi?head

Pero en MAC OSx obtengo un error de seguimiento.

cabeza: recuento de líneas ilegales - -4

¿Qué más se puede hacer para lograr este objetivo?


Use awk por ejemplo:

$ cat file line 1 line 2 line 3 line 4 line 5 line 6 $ awk ''n>=4 { print a[n%4] } { a[n%4]=$0; n=n+1 }'' file line 1 line 2 $

Se puede simplificar a awk ''n>=4 { print a[n%4] } { a[n++%4]=$0 }'' pero no estoy seguro si todas las implementaciones de awk lo admiten.


La versión GNU de la head admite números negativos.

brew install coreutils ghead -n -4 main.m