SED : Remplacer des caractères spéciaux

Tout ce qui concerne la programmation.
Répondre
Avatar du membre
dezix
Modérateur
Modérateur
Messages : 991
Enregistré le : 04 juin 2016, 14:50
Diaspora* : dezix@framasphere.org
Status : Hors ligne

09 janv. 2020, 11:09

[Édité] suivre le lien suivant pour savoir comment :
Remplacer des caractères spéciaux avec sed

Tout est dans le titre,

ça m'a permis p.ex de remplacer les guillemets simples ' avec \x27

ce qui n'était à priori pas vraiment évident (pour moi)

On obtient la valeur "27" avec :

Code : Tout sélectionner

$ printf "'" | od -vAn -tx1
 27
Debian testing/stable - XFCE
Avatar du membre
lol
Site Admin
Site Admin
Messages : 3310
Enregistré le : 04 avr. 2016, 12:11
Localisation : Madagascar
Contact :
Status : Hors ligne

12 janv. 2020, 11:05

Avec sed ?

Code : Tout sélectionner

$ echo "'" | sed -e "s/'/27/g"
27
Debian stable. XFCE.
C'est curieux chez les marins ce besoin de faire des phrases (Les tontons flingueurs).
Avatar du membre
dezix
Modérateur
Modérateur
Messages : 991
Enregistré le : 04 juin 2016, 14:50
Diaspora* : dezix@framasphere.org
Status : Hors ligne

12 janv. 2020, 19:12

Je n'avais pas précisé que l'info est dans l'article en lien,
c'est rajouté.

od sert à trouver le code hexa des caractères qui peuvent poser problème :
p.ex : \' ne fonctionne pas mais \x27 oui !

Si dans un ficher tu as des expressions du genre : '<motif>'

que tu souhaites remplacer par : <motif> (sans quotes)

<motif> étant une Expression Rationnelle

Code : Tout sélectionner

sed -i 's/\x27<motif>\x27/<motif>/g' fichier.txt
... fait ce job :dirol:
Debian testing/stable - XFCE
Avatar du membre
lol
Site Admin
Site Admin
Messages : 3310
Enregistré le : 04 avr. 2016, 12:11
Localisation : Madagascar
Contact :
Status : Hors ligne

13 janv. 2020, 07:03

:good:
Debian stable. XFCE.
C'est curieux chez les marins ce besoin de faire des phrases (Les tontons flingueurs).
Répondre