GNU/Linux >> Linux Esercitazione >  >> Linux

Come stampare Stdout di un comando in ordine inverso su una shell Linux

Di recente si è verificato un problema per visualizzare l'output standard (stdout) di un comando Linux nell'ordine inverso.

Ad esempio; ls -lrt elencherà i file e le directory in base alla data di creazione/aggiornamento ma vorrebbe ottenere l'output nella direzione inversa.

Soluzione:  La shell di Linux è ricca di funzionalità. Ha un comando integrato, ovvero tac parte delle coreutils scritte da Jay Lepreau e David MacKenzie. Concatena e stampa i file in ordine inverso.

cioè, lo stdout del comando è dato come input standard a tac e copia lo standard input in standard output invertendo i record ogni riga separatamente.

Fase 1:elenca i file nell'ordine predefinito.

[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

Fase 2:elenca i file nell'ordine inverso rispetto all'ordine predefinito.

[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

Questo comando integrato tac può essere utilizzato su qualsiasi comando Linux o anche sui propri script.


Linux
  1. Come sapere se l'output di un comando o di uno script di shell è Stdout o Stderr?

  2. Come cambiare la shell in Linux

  3. Come configurare la shell Bash con restrizioni in Linux

  4. Come usare gli alias di shell in Linux

  5. Come registrare ogni comando della shell in Linux

Come eseguire il comando / script della shell di Linux in background

Comando sorgente in Linux

Come stampare righe duplicate in un file di testo in Linux

Come memorizzare un comando Linux come variabile nello script della shell

Come utilizzare il comando Declare in Linux Bash Shell

Come stampare la directory di lavoro usando il comando pwd di Linux?