{{tag>Encodage Regex Perl}} # Supprimer les caractères non imprimables Suppression caractères bizarres avec sed Voir aussi [[perl_one-liners]] * dos2unix **Cette commande sed ne fonctionne pas. Pourquoi ?** ~~~bash sed -e 's/[^[:print:]]//g' ~~~ ~~~bash cat monfichier.txt | perl -pe 's/[^[:ascii:]]//g' > monfichier.txt.cleaned ~~~ Sed n'a pas fonctionné sur le pb [[pb_ansible_-_failure_when_attempting_to_use_callback_plugin_-_ascii_codec_can_t_decode_byte_in_position_ordinal_not_in_range]] alors que Perl si. C'est parque qu'il faut faire : ~~~bash cat monfichier.txt | env LANG=C sed 's/[^\x00-\x7F]//g' # LANG=C sed -i -E "s|[\d128-\d255]||g" /path/to/file(s) ~~~ Supprimer tous les caractères non-imprimables (sauf les \n) avec Perl ~~~bash perl -lpe 's/[[:^print:]]+//g' fichier.txt ~~~ Permet de voir les caractères non imprimable. \ Utilise les notations « ^ » et « M- » pour les caractères non imprimables à l'exception des sauts de ligne et des tabulations ~~~bash cat -v fichier.txt ~~~ Certain caractère peuvent être corrigé à la mano grâce à ~~~bash #vim -b ~~~ ~~~ set list ~~~ ## Enlever la couleur d'un texte en mode console Source : http://www.commandlinefu.com/commands/view/3584/remove-color-codes-special-characters-with-sed ~~~bash sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" ~~~ ## Autres ~~~bash tr -d '\0' < bad_file.csv > bad_file.csv.fixed ~~~