Inverser le contenu d'un fichier texte

Pour x raisons, il peut être nécessaire d'inverser le contenu d'un fichier texte.
Par exemple, pour afficher le contenu d'un fichier de logs dans l'ordre inverse.

Suite à la remarque de barbay, la commande tac permet d'inverser le contenu d'un fichier texte.

$ tac /var/log/syslog

Sinon, pour inverser le contenu d'un fichier texte, il est possible d'utiliser l'enchainement de commandes suivant :

Pour commencer, j'affiche le contenu du fichier avec la commande cat :

$ cat /var/log/syslog

J'enchaine avec la commande nl qui permet de numéroter les lignes du fichier :

$ cat /var/log/syslog | nl

J'enchaine avec la commande sort qui permet de trier le contenu du fichier numériquement (avec l'option -n) et en ordre inverse (avec l'option -r) sur la première colonne du fichier contenant les numéros de lignes générés par la commande nl :

$ cat /var/log/syslog | nl | sort -n -r

Il reste maintenant à supprimer la première colonne du fichier contenant les numéros de lignes avec la commande cut :

$ cat /var/log/syslog | nl | sort -n -r | cut -f2

Et voilà, le fichier s'affiche à l'écran dans l'ordre inverse.

Etiquettes: 

Commentaires

La commande TAC ne fait-elle pas la même chose?
tac /var/log/syslog

Effectivement, la commande TAC effectue exactement la même chose.

Je ne la connaissais pas.

Pourquoi faire simple quand on peut faire compliqué ;o)

Merci beaucoup pour cette remarque.

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.