Contributions

Open Source sticker

Toutes les contributions de Pragmatic Source, que ce soit sous forme d'articles, de présentations ou de code sous licence libre, sont disponibles dans cette section du site et sur notre Référentiel Open Source (Redmine).

All of our contributions (articles, slideshows, Open Source code) are available in this section and on our Open Source Repository (Redmine).

Supprimer les attributs gras et soulignés (overstrike) et de couleur d'un texte ou d'une manpage

Sous Unix/Linux, des commandes telles que « man » produisent un affichage contenant les attributs soulignés et gras, ou des couleurs, même en mode console. Ces attributs sont produits par l'insertion d'une combinaison de caractères de contrôle (« Escape », « Backspace » ou « ^H ») et de soulignés (« _ ») à la suite des caractères à mettre en valeur.

Il se peut que vous ayez besoin de supprimer ces caractères de contrôles.

Pour cela, vous pouvez utiliser la ligne de commande suivante :

  1. sed -e 's/_^H//g' -e 's/^H.//g' -e 's/^[\[[0-9]*m//g' < infile.txt > outfile.txt

Ou bien, sur Vim, taper les trois commandes suivantes :

  1. :%s/_^H//g
  2. :%s/^H.//g
  3. :%s/^[\[[0-9]*m//g'

Et le tour est joué !

Attention : Pour saisir les caractères de contrôle ^H et ^[ en ligne de commande, précédez-les du caractère d'échappement de votre shell, par exemple « Control-V + Control-H » sur Zsh et Vim.

Commentaires

Hello, Il est possible de

Hello,

Il est possible de demander a sed de faire un backup avant de procéder aux changements, pour cela il faut utiliser l'option -i. Cette option existe au moins sur GNU sed et le sed FreeBSD.
La commande devient alors :

  1. sed -i.bak -e 's/_^H//g' -e 's/^H.//g' infile.txt