GNU/Linux >> Znalost Linux >  >> Linux

Způsob, jak přesměrovat výstup programu, a přesto jej přejít na Stdout?

Dobře. Pokud bych chtěl přesměrovat výstup programu do souboru, udělal bych něco takového

prog > file

Pokud bych chtěl na tento soubor přesměrovat stdout i stderr, udělal bych to

prog > file 2>&1

To vše je v pořádku, pokud chcete, aby výstup šel do souboru. Ale co když chcete, aby výstup šel do souboru a přesto šel do stdout/stderr? Výstup je tedy uložen do souboru, ale stále jej můžete vidět na konzole, když je program spuštěn. Existuje způsob, jak to udělat? A pokud ano, jak?

Přijatá odpověď:

tee existuje pro tento účel; převezme argument názvu souboru a zapíše data, která čte ze stdin, do stdout i do souboru:

$ prog 2>&1 | tee file

Linux
  1. Jak přesměrovat výstup do souboru a Stdout v Linuxu

  2. Jak přesměrovat výstup programu do souboru ZIP?

  3. Výstup do Stdout a zároveň Grep do souboru?

  1. Přesměrování a výstup potrubí?

  2. Zobrazit na obrazovce pouze Stderr, ale zapsat do souboru Stdout i Stderr?

  3. Jaký je rozdíl v přesměrování výstupu pomocí >, &>, >&a 2&>?

  1. Přesměrujte veškerý výstup do souboru v Bash

  2. Přesměrování výstupu příkazu do souboru a terminálu

  3. Bude mít printf stále cenu, i když přesměruji výstup do /dev/null?