Nedávno jsme narazili na problém zobrazit standardní výstup (stdout) příkazu Linuxu v opačném pořadí.
Pro např.; ls -lrt by vypsal soubory a adresáře na základě data vytvoření/aktualizace, ale chtěl by získat výstup v opačném směru.
Řešení: Linuxový shell má mnoho funkcí. Má vestavěný příkaz tac
část coreutils, které napsali Jay Lepreau a David MacKenzie. Zřetězí a vytiskne soubory v opačném pořadí.
tj. stdout příkazu je dán jako standardní vstup do tac a zkopíruje standardní vstup na standardní výstup a obrací záznamy každý řádek zvlášť.
Krok 1:Seznam souborů ve výchozím pořadí.
[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
Krok 2:Seznam souborů v obráceném pořadí jejich výchozího pořadí.
[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
Tento vestavěný příkaz tac
lze použít na libovolném příkazu Linuxu nebo na vašich vlastních skriptech.
Vytvořte virtuální prostředí pro různé verze Pythonu pomocí Conda
Upstream odeslal příliš velkou hlavičku při čtení hlavičky odpovědi z upstreamu – chyba NGINX