Gérer la sortie d'un terminal

Vos petites astuces, répertoire des tutoriels et astuces
Répondre
Avatar du membre
cyrille
modérateur
Messages : 7550
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nord - Avesnois
Contact :

Gérer la sortie d'un terminal

Message par cyrille »

Gérer la sortie d'un terminal

Avec les redirections de sortie Shell


Ecrire la sortie d'un terminal dans un fichier

La syntaxe :

Code : Tout sélectionner

commande > fichierDeSortie
Exemple

Code : Tout sélectionner

$ lsmod > output.txt
$ head output.txt
Module                  Size  Used by
hid_generic            16384  0
usbhid                 65536  0
hid                   147456  2 usbhid,hid_generic
xt_conntrack           16384  1
xt_MASQUERADE          20480  1
nf_conntrack_netlink    53248  0
xfrm_user              45056  1
xfrm_algo              16384  1 xfrm_user
nft_counter            16384  15

A noter si le fichier de sortie existe, il sera effacé.

Incrémenter un fichier de la sortie d'un terminal

Même principe, mais si le fichier existe il ne sera pas effacé mais son contenu sera incrémenté de la sortie.
Il suffit de doubler le caractère de redirection de sortie ( >> à la place de > )

Code : Tout sélectionner

$ echo "Sortie de lsmod" >> output.txt
$ date  >> output.txt
$ lsmod >> output.txt
$ head output.txt 
sortie de lsmod
lun. 24 août 2020 13:42:55 CEST
Module                  Size  Used by
hid_generic            16384  0
usbhid                 65536  0
hid                   147456  2 usbhid,hid_generic
xt_conntrack           16384  1
xt_MASQUERADE          20480  1
nf_conntrack_netlink    53248  0
xfrm_user              45056  1

Avec la command tee


Une autre façon de procéder est d'utiliser la commande tee

Code : Tout sélectionner

$ whoami | tee output.txt 
ragnarok
$ cat output.txt 
ragnarok
Incrémenter un fichier
On utilise l'attribut -a de la commande tee

Code : Tout sélectionner

$ date | tee -a output.txt
lun. 24 août 2020 13:59:43 CEST
$ whoami | tee -a output.txt
ragnarok
$ pwd | tee -a output.txt
/home/ragnarok
$cat output.txt
lun. 24 août 2020 13:59:43 CEST
ragnarok
/home/ragnarok
On remarque que la commande tee, à la différence de la redirection de shell, non seulement redirige la sortie standard mais aussi l'affiche.

A noter : il est possible de gérer les erreurs et des sorties de terminal de façon plus fine. Consulter la documentation.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# bash the fash 2>/dev/null
# apt-get install anarchism


https://cbiot.fr -- https://framagit.org/CyrilleBiot

Répondre