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