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