2010-06-20 14 views

Respuesta

56
END{print} 

debería hacerlo. Gracias a Ventero que era demasiado vago para enviar esta respuesta.

+0

Oh, eso es mucho más simple que mi manera.Niza –

12

¿Es necesario utilizar awk para esto? ¿Por qué no usar tail -n 1 myFile?

+0

porque la cola no es tan rápida como awk – yael

+5

@yael No, en absoluto; 'tail -1' será mucho más rápido que' awk' para un archivo grande. Probé en un archivo de línea ~ 3m; la cola fue instantánea mientras awk tomó .44s –

+6

El formulario '-1' está en desuso. Use 'tail -n 1'. –

12

Utilice la herramienta adecuada para el trabajo. Como desea obtener la última línea de un archivo, tail es la herramienta adecuada para el trabajo, especialmente si tiene un archivo grande. El algoritmo de procesamiento de archivos de Tail es más eficiente en este caso.

tail -n 1 file 

Si realmente desea usar awk,

awk 'END{print}' file 

EDIT: tail -1 file obsoleto

2

Puede así lograr esto usando sed. Sin embargo, yo personalmente recomiendo usar tail o awk.

De todas formas, si desea hacerlo por sed, aquí hay dos maneras:

Método 1:

sed '$!d' filename 

Método 2:

sed -n '$p' filename 

En este caso, el nombre de archivo es el nombre de la archivo que tiene datos para analizar.

3

Estudia la última línea de un archivo:

  1. usando sed (editor de flujo): sed -n '$p' fileName

  2. El uso de la cola: tail -1 fileName

  3. usando awk: awk 'END { print }' fileName

+0

Utilice el código de marcado (\ 'code \'). –

Cuestiones relacionadas