El teu blog de Linux en català

Redirecció de la sortida d'una ordre amb tee

Els que utilitzem habitualment el terminal, ja sigui per a treballar-hi directament o per a crear-nos les nostres shells, utilitzem sovint el redireccionament de la sortida, per mitjà del caràcter «>» per fer que aquesta se’ns escrigui en un fitxer. És a dir, executem el següent:

ordre_terminal > nom_fitxer

Per mitjà d’aquest tipus de redirecció, la sortida de l’ordre s’escriurà en el fitxer que li indiquem, però ja no se’ns mostrarà en el terminal. Però, a vegades, ens pot interessar que una shell que escrivim ens mostri pel propi terminal la sortida d’una certa ordre i que, a més, ens la deixi en un fitxer. Això ho aconseguim per mitjà de l’ordre «tee», que utilitzem d’aquesta manera:

ordre_terminal | tee nom_fitxer

En aquest cas, la sortida de l’ordre que executem es mostrarà en el terminal i també el veurem escrit en el fitxer que li indiquem. Per mitjà del «tee», la sortida s’escriurà directament sobre el fitxer, esborrant el contingut que tingués anteriorment. Si el que volem és que la sortida de l’ordre s’afegeixi al final del fitxer, només cal afegir el modificador «-a». És a dir:

ordre_terminal | tee -a nom_fitxer

Documentació | Ordres de terminal

3 comments

    • akjode on 17 de setembre de 2010 at 20:50

    Reply

    una comanda que no coneixia, molt util, continueu aixi

    • Pau on 18 de setembre de 2010 at 10:00

    Reply

    Una ordre molt útil!!! No la coneixia, tot i que sí que l’havia vista abans. Per cert, escric des de l’android al tren anant cap a Castelló!

    • Sergio on 19 de setembre de 2010 at 19:18

    Reply

    Un problema de tee és que treballa amb la sortida estàndard d’un programa (stdout). Si volem que actuï de la mateixa manera amb els missatges d’error, caldrà redirigir els missatges d’error a stdout. És a dir:
    ordre_terminal 2>&1 | tee nom_fitxer

    “2>&1” indica que volem que la segona sortida (stderr) es redirigeixi a la primera (stdout) aconseguint l’efecte desitjat.

Deixa un comentari

Your email address will not be published.