GNU/Linux >> Tutoriels Linux >  >> Linux

Comment imprimer Stdout d'une commande dans l'ordre inverse sur un shell Linux

J'ai récemment rencontré un défi pour afficher la sortie standard (stdout) d'une commande Linux dans l'ordre inverse.

Par exemple; ls -lrt répertorie les fichiers et répertoires en fonction de la date de création/mise à jour, mais souhaite obtenir la sortie dans le sens inverse.

Solution :  Le shell Linux regorge de fonctionnalités. Il a une commande intégrée à savoir tac fait partie des coreutils écrits par Jay Lepreau et David MacKenzie. Il concatène et imprime les fichiers dans l'ordre inverse.

c'est-à-dire que stdout de la commande est donnée comme entrée standard à tac et elle copie l'entrée standard vers la sortie standard en inversant les enregistrements de chaque ligne séparément.

Étape 1 :répertorier les fichiers dans l'ordre par défaut.

[root@ssl httpd]$ ls -rlt
total 12
lrwxrwxrwx 1 root root 29 Sep 8 15:58 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx 1 root root 19 Sep 8 15:58 logs -> ../../var/log/httpd
drwxr-xr-x 2 root root 4096 Sep 8 15:58 conf
lrwxrwxrwx 1 root root 10 Sep 8 15:58 run -> /run/httpd
drwxr-xr-x 2 root root 4096 Nov 28 16:41 conf.modules.d
drwxr-xr-x 2 root root 4096 Nov 28 16:41 conf.d

Étape 2 :répertorier les fichiers dans l'ordre inverse de leur ordre par défaut.

[root@ssl httpd]$ ls -lrt | tac
drwxr-xr-x 2 root root 4096 Nov 28 16:41 conf.d
drwxr-xr-x 2 root root 4096 Nov 28 16:41 conf.modules.d
lrwxrwxrwx 1 root root 10 Sep 8 15:58 run -> /run/httpd
drwxr-xr-x 2 root root 4096 Sep 8 15:58 conf
lrwxrwxrwx 1 root root 19 Sep 8 15:58 logs -> ../../var/log/httpd
lrwxrwxrwx 1 root root 29 Sep 8 15:58 modules -> ../../usr/lib64/httpd/modules

Cette commande intégrée tac peut être utilisé sur n'importe quelle commande Linux ou sur vos propres scripts également.


Linux
  1. Comment utiliser la commande Su sous Linux

  2. Comment savoir si la sortie d'une commande ou d'un script shell est Stdout ou Stderr ?

  3. Comment changer de shell sous Linux

  4. Comment utiliser les fonctions du shell de ligne de commande sous Linux

  5. Comment imprimer une plage d'adresses IP avec la commande Linux seq

Comment exécuter une commande / un script Linux Shell en arrière-plan

Commande source sous Linux

Comment imprimer des lignes dupliquées dans un fichier texte sous Linux

Comment stocker une commande Linux en tant que variable dans un script shell

Comment utiliser la commande Declare dans Linux Bash Shell

Comment imprimer le répertoire de travail à l'aide de la commande Linux pwd ?