Le script se présente comme une suite de commandes (une par ligne) :
- # blablabla : commentaire
- s/avant/apres/ : remplace UNE fois "avant" par "apres" (expressions régulières)
- s/avant/apres/g : remplace toutes les occurences de "avant" par "apres" (expressions régulières)
- ... (lire une bonne doc (man sed), y'a un bon paquet de fonctions!!!)
Si vos expressions contiennent le caractère '/', il faut l'écrire '\/'. Ou plus simplement : "s@/usr/bin@/usr/sbin@g" => On peut utiliser n'importe quel caractère après le 's' pour délimiter les expressions.
Syntaxe pour les expressions régulières UNIX -> Sed :
.*?+ -> .*\?\+
[...] -> [...]
(...) -> \(...\)
^a$ -> ^a$
Attention : le texte "truc[1].txt" s'écrit "truc\[1\]\.txt" !
Exemple :
--- script ---
s@elefant\(s\)\?@éléphant1円@g
--- txt ---
J'ai croisé un elefant au supermarché avec ses pôtes elefants !
--- sed -f script txt --
J'ai croisé un éléphant au supermarché avec ses pôtes éléphants !
---
Autres exemples : http://www.haypocalc.com/logiciel/regex_sed.php(...)
Note: Attention, sous Windows les scripts doivent être sauvés dans le format UNIX sous peine de lire des "sed: file script line 1: Unknown option to 's' " !
# On peut également utiliser des scripts
Posté par Victor STINNER (site web personnel) . En réponse au message [Terminal] Changements rapides avec sed. Évalué à 1.
Le script se présente comme une suite de commandes (une par ligne) :
- # blablabla : commentaire
- s/avant/apres/ : remplace UNE fois "avant" par "apres" (expressions régulières)
- s/avant/apres/g : remplace toutes les occurences de "avant" par "apres" (expressions régulières)
- ... (lire une bonne doc (man sed), y'a un bon paquet de fonctions!!!)
Si vos expressions contiennent le caractère '/', il faut l'écrire '\/'. Ou plus simplement : "s@/usr/bin@/usr/sbin@g" => On peut utiliser n'importe quel caractère après le 's' pour délimiter les expressions.
Syntaxe pour les expressions régulières UNIX -> Sed :
.*?+ -> .*\?\+
[...] -> [...]
(...) -> \(...\)
^a$ -> ^a$
Attention : le texte "truc[1].txt" s'écrit "truc\[1\]\.txt" !
Exemple :
--- script ---
s@elefant\(s\)\?@éléphant1円@g
--- txt ---
J'ai croisé un elefant au supermarché avec ses pôtes elefants !
--- sed -f script txt --
J'ai croisé un éléphant au supermarché avec ses pôtes éléphants !
---
Autres exemples : http://www.haypocalc.com/logiciel/regex_sed.php(...)
Note: Attention, sous Windows les scripts doivent être sauvés dans le format UNIX sous peine de lire des "sed: file script line 1: Unknown option to 's' " !
Haypo