Bonjour,

J'ai un fichier temp qui a ce contenu

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
[ven. 23 mars (~) user] cat temp
exemple :
ça ne fonctionne pas ;
vraiment pas ;
pas du tout
[ven. 23 mars (~) user]
Dans ce fichier, il y a des espaces bizarres qui ne sont pas pris en compte par sed. Par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
[ven. 23 mars (~) user] sed 's# ;#\ ;#g' temp
exemple :
ça ne fonctionne pas ;
vraiment pas ;
pas du tout
[ven. 23 mars (~) user]
ce fichier temp a été créé exclusivement pour mon exemple, mais les espaces qu'il contient ont été copiés à partir d'un autre fichier qui m'a fait découvrir le problème, mais qui était beaucoup trop long pour servir d'exemple.

si, dans mon fichier temp, je remplace ces espaces bizarre par des espaces "normaux", ma commande sed fonctionne très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
[ven. 23 mars (~) user] sed 's# ;#\ ;#g' temp
exemple :
ça ne fonctionne pas ;
vraiment pas ;
pas du tout 
[ven. 23 mars (~) user]
J'ai trouvé d'où venaient ces espaces bizarres : le texte d'origine est un copié/collé d'un texte pris dans un document libreoffice (.odt) et ces espaces correspondent à des espaces insécables de libreoffice.

Comme ma commande est inclue dans un script, comment la modifier pour qu'elle fonctionne aussi pour ce genre de fichiers ?

EDIT:
Je viens de m'apercevoir que le texte copié de ma console (via le presse-papier de linux) remplace ces espaces par des * dans la mise en page de http://www.developpez.net

exemple*:
ça*ne*fonctionne*pas*;
vraiment*pas*;
pas*du*tout

Bien cordialement,