La vraie question est donc: est-ce que quelqu'un a une idée de comment supprimer M-BM-
un caractère spécial sans risquer de perdre d'autres caractères?
J'ai une chaîne de texte:
" . . ."
C'est
space dot space dot space dot
J'essaie de remplacer toute occurrence de cette chaîne dans un fichier texte pour
"..."
C'est
dot dot dot
J'essayais de faire avec sed:
sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots
Malheureusement, cela ne change même pas un peu le fichier d'entrée. Fichier: https://www.dropbox.com/s/46zmiruy3ln85a1/sed-dots
Lorsque j'essaie de remplacer la même chaîne dans l'éditeur de texte (j'utilise geany), elle est trouvée et remplacée correctement.
La seule raison pour laquelle je peux penser est que certains (ou tous) de ces espaces ne sont pas vraiment des espaces, mais un caractère spécial.
Quelqu'un at-il une idée de comment trouver et remplacer cette chaîne par sed (ou tout autre outil en ligne de commande)? Veuillez tester votre idée sur mon fichier, car le problème n'est pas aussi évident qu'il y paraît - c'est pourquoi j'ai posé la question.
Après avoir utilisé cat -A
mon fichier, il semble problématique que ces espaces ne soient pas des espaces, mais M-BM-
des caractères spéciaux. L'utilisation d'un symbole .
suggéré pour la recherche n'est pas une bonne idée car il existe un risque que d'autres caractères soient supprimés.
echo
au lieu de copier un fichier, au moins lorsque vous cat un fichier, vous savez que le shell n'interprète rien, et l'écho non plus.