-
question sed regexp
bonsoir, je voudrais savoir si quelqu'un saurait comment faire pour qu'une fois que l'expression matche on puisse "la recopier" pour lui ajouter un caractère par exemple ou autre modification.
Exemple :
Code:
sed -e "s/montruc_a_matcher/montruc_a_matcher;/g
Merci à tous.
-
Utilisez une capture :
sed ... 's/\(montruc_a_matcher\)/avant\1après/g' ...
-
Je pige pas trop la.
En fait pour etre clair je souhaiterai matcher une fonction genre "int mafonction(argument)" et y mettre un ";" et mettre tous ca dans un autre fichier.
Je met ma source :
Code:
sed -e "s/\(\(int\|long\|long long\|double\|char\|float\) [a-z]\+([a-z *]*)\)/(je ne sais pas quoi mettre ici/g" test.c
en fait je crois que c'est pas une substitution que je veux faire mais je ne sais pas comment faire (poutant jai lu une grosse partie du man)
-
La réponse est "&" dans la chaine de remplacement.
Sinon, comme julp a dit, ça marche bien aussi.