On Sun, 2025-03-16 at 12:52 +0100, Benoît Barbier wrote: > > > Le 16/03/25 à 11:55, Michel Verdier a écrit : > > Le 16 mars 2025 Benoît Barbier a écrit : > > > > > sed "s/[""'’`;:,.=]/ /g > > Ici j'ai mal copié collé ls '"' de fin, mais je l'utilisais dans mes tests > > sed "s/[""'’`;:,.=]/ /g" > > > > > > > Pourquoi ça trouve pas les "=" ? > > > Est-ce qu'il y aurait plusieurs signe "=" dans l'UTF8 ? > > > > > > N'a pas fonctionné avec la chaîne = "abcd-=-efgh" copiée-collée du > > > terminal. > > > > Si je copie tel que tes bouts de texte ça plante sed à cause des " et ` > > non protégés. De mon côté ça donne ça : > > > > $ echo "abcd-=-efgh" | sed "s/[\"'\`:,.=]/ /g" > > abcd- -efgh > > > > Donne la commande exacte que tu passes et du résultat si tu as toujours > > un problème avec = > > > > J'ai du foirer un truc en ajoutant "=" > > J'ai utilisé la réponse de @Basile STARYNKEVITCH > > > Le problème est le traitement par le shell des arguments. > > > > Peut-être que sed 's/[\"\'\`\’\`;:.=]/ /g' pourrait mieux convenir. > > > > https://www.gnu.org/software/bash/manual/bash.html#Quoting > > Mais je constate que je dois quand même mettre des " plutôt que des ' > pour encadrer : > > sed "s/[\"\'\`\’\`;:.=!#]/ /g" > > Si non le terminal (zsh) me fait un : > > dquote> > > au lieux de considérer que c'est correctement fermé.
Lz shell zsh est différent de GNU bash et a des règles de quotation différente. La documentation à utiliser est donc différente. https://zsh.sourceforge.io Une autre solution serait d'écrire un programme C (ou Ocaml ou Rust) qui execute /bin/sed comme une convient et de le compiler ou même qui fait le remplacement espéré. Je le laisse en exercice au lecteur. On pourait imaginer y utiliser https://man7.org/linux/man-pages/man3/regex.3.html https://man7.org/linux/man-pages/man7/regex.7.html En C++ Qt offre aussi des possibilités nombreuses (et peut-être utilisé en dehors d'applications graphiques). https://www.qt.io/ et aussi http://www.fox-toolkit.org/ Je n'ai d'ailleurs pas compris le problème originel qui est à résoudre. De mon point de vue manquent à la question le contexte du problème, a expliquer en plusieurs dizaines de phrases françaises. S'il s'agit de traiter des fichiers encodés en UTF-8 alors la bibliothèque https://www.gnu.org/software/libunistring/ est adaptée. On pourrait tirer profit de la bibliothèque Glib https://fr.wikipedia.org/wiki/GLib Je rapelle qu'il existe d'autres encodages (dont ISO-LATIN-1, KOI-8 et d'autres) et la complexité d'Unicode https://fr.wikipedia.org/wiki/Unicode Je n'ai pas comprise le problème réel à résoudre et son contexte, et une explication détaillée me parait nécessaire et manquer. Cordialement -- Basile STARYNKEVITCH <[email protected]> 8 rue de la Faïencerie 92340 Bourg-la-Reine, France http://starynkevitch.net/Basile & https://github.com/bstarynk

