Aquí está cómo hacerlo con awk
:
awk 'NR>2 {print t} {t=$0}'
También otra forma de sed
:
sed '1d;x' file.txt
x
es un sed
comando avanzado , cambia la línea actual con la anterior: la corriente pasa al búfer y la anterior va a la pantalla, y así sucesivamente mientras sed
procesa el flujo línea por línea (es por eso que la primera línea estará en blanco).
awk
La solución en cada paso (línea) coloca la línea actual en la variable y comienza a imprimirla solo después de pasar la segunda línea. Por lo tanto, obtuvimos una secuencia de líneas en la pantalla desde la segunda hasta la última, pero una. La última línea se omite porque la línea está en la variable y debe imprimirse solo en el siguiente paso, pero todos los pasos ya se agotaron y nunca vemos la línea en la pantalla.
Misma idea en el perl
:
perl -ne 'print $t if $.>2 ; $t=$_' file.txt
$.
representa el número de línea y $_
la línea actual.
perl -n
es un atajo para while(<..>) {..}
estructura y -e
es para script en línea.
head -n -1
elimina la primera Y la última línea de mi.txt
archivo, en Ubuntu 14.04.2LTS.