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.