GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo imprimir la salida estándar de un comando en orden inverso en un shell de Linux

Recientemente encontré un desafío para mostrar la salida estándar (stdout) de un comando de Linux en el orden inverso.

Por ejemplo; ls -lrt enumeraría los archivos y directorios en función de la fecha de creación/actualización, pero le gustaría obtener el resultado en la dirección inversa.

Solución:  El shell de Linux es abundante en características. Tiene un comando integrado llamado tac parte de las coreutils escritas por Jay Lepreau y David MacKenzie. Concatena e imprime archivos en orden inverso.

es decir, la salida estándar del comando se proporciona como entrada estándar a tac y copia la entrada estándar a la salida estándar invirtiendo los registros de cada línea por separado.

Paso 1:Enumere los archivos en el orden predeterminado.

[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

Paso 2:Enumere los archivos en el orden inverso de su orden predeterminado.

[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

Este comando integrado tac se puede usar en cualquier comando de Linux o también en sus propios scripts.


Linux
  1. Cómo usar el comando Su en Linux

  2. Cómo cambiar Shell en Linux

  3. Cómo configurar Bash Shell restringido en Linux

  4. Cómo usar alias de shell en Linux

  5. Cómo registrar cada comando de shell en Linux

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Comando fuente en Linux

Cómo imprimir líneas duplicadas en un archivo de texto en Linux

Cómo almacenar un comando de Linux como una variable en el script de Shell

Cómo usar el comando Declare en Linux Bash Shell

¿Cómo imprimir el directorio de trabajo usando el comando pwd de Linux?