objectif
Envoyer une sortie à plusieurs consommateurs simultanément.
code minimal
cmd | tee >(gzip -9 > out.gz) >(wc -l > lines.txt) > /dev/null
utilisation
# logger une commande et analyser en parallèle
make 2>&1 | tee >(grep -i 'error' > errors.log) >(awk '/WARN/ {print}' > warns.log)
variante(s) utile(s)
# dupliquer vers réseau
tail -F app.log | tee >(nc -u 127.0.0.1 1514) >(logger -t app) >/dev/null
notes
- chaque
>(...)crée un FIFO éphémère. - attention à l’ordre et aux effets de buffering.