web-dev-qa-db-fra.com

Imprimer uniquement la dernière ligne d'un fichier?

Comment imprimer uniquement la dernière ligne d'un fichier?

40
yael
END{print}

devrait le faire. Merci à Ventero qui était trop paresseux pour soumettre cette réponse.

74
Joey

Utilisez le bon outil pour le travail. Puisque vous voulez obtenir la dernière ligne d'un fichier, tail est l'outil approprié pour le travail, surtout si vous avez un gros fichier. L'algorithme de traitement de fichiers de Tail est plus efficace dans ce cas.

tail -n 1 file

Si vous voulez vraiment utiliser awk,

awk 'END{print}' file

MODIFIER : tail -1 file obsolète

19
ghostdog74

Est-il indispensable d'utiliser awk pour cela? Pourquoi ne pas simplement utiliser tail -n 1 myFile?

13
RonK

Vous pouvez également y parvenir en utilisant sed. Cependant, je recommande personnellement d'utiliser tail ou awk.

Quoi qu'il en soit, si vous souhaitez le faire par sed, voici deux façons:

Méthode 1:

sed '$!d' filename

Méthode 2:

sed -n '$p' filename

Ici, nom_fichier est le nom du fichier contenant des données à analyser.

5
Tapan Avasthi

Découvrez la dernière ligne d'un fichier:

  1. Utilisation de sed (éditeur de flux): sed -n '$p' fileName

  2. Utilisation de la queue: tail -1 fileName

  3. en utilisant awk: awk 'END { print }' fileName

4
rishabh