Re: Remplacement de séquencesd'échappement

Page principale

Répondre à ce message
Auteur: Nicolas Tripon
Date:  
À: guilde
CC: guilde
Sujet: Re: Remplacement de séquencesd'échappement
Frédéric Mantegazza :
>J'ai des fichiers dans lesquels j'ai des séquences d'échappement pour
>coloriser les lignes. Par exemple, une ligne en rouge donne :
>
>2005-02-03 14:19:27,644::ESC[0;31;40;1mERROR: No value given for
>INDiESC[0m
>
>où la séquence 'ESC[0;31;40;1m' avait été générée par la chaîne
>'\033[0;31;40;1m'.
>
>Comment faire pour virer ces séquences (les remplacer par autre chose, en
>fait) ? Quelle syntaxe utiliser dans grep/sed et autres ?


Edgar Bonet :
>echo -e '2005-02-03 14:19:27,644::' \
>    '\e[0;31;40;1mERROR: No value given for INDi\e[0m' | \
>    sed s/$'\e''\[0*m/<\/span>/' | \
>    sed s/$'\e''\[[0-9;]*m/<span class="error">/'


Pour modifier dans un fichier, le bon outil, c'est 'ed' ; voici un
exemple sur lequel tu peux construire :

$ echo -e '1,$s/\e[^m]*m//\nwq' | ed file

Salut. -Nicolas