objectif
Enlever les séquences d’échappement (CSI) qui perturbent la lecture et le parsing.
code minimal
# retirer la plupart des séquences ANSI
sed -r 's/\x1B\[[0-9;?]*[ -/]*[@-~]//g' colored.log > clean.log
utilisation
# pipeline
make 2>&1 | sed -r 's/\x1B\[[0-9;?]*[ -/]*[@-~]//g' | tee build.log
variante(s) utile(s)
# awk équivalent
awk '{gsub(/\x1B\[[0-9;?]*[ -/]*[@-~]/,""); print}' colored.log
notes
- la regex couvre la famille CSI; d’autres séquences existent (OSC).
- pour un nettoyage robuste OSC:
s/\x1B\].*?(\x07|\x1B\\)//g(GNU sed non-greedy via Perl? préférez awk/perl).