<![CDATA[Forum Ubuntu-fr.org / [Résolu] Remplacement de texte avec sed + expressions regulières]]> http://forum.ubuntu-fr.org/viewtopic.php?id=21085 Wed, 14 Dec 2005 12:36:18 +0000 FluxBB <![CDATA[Réponse à : [Résolu] Remplacement de texte avec sed + expressions regulières]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=146939#p146939 Parfait. Merci

]]>
Wed, 14 Dec 2005 12:36:18 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=146939#p146939
<![CDATA[Réponse à : [Résolu] Remplacement de texte avec sed + expressions regulières]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=146669#p146669 Salut,

Pour faire TRES court :

man sed pour les options :-) Tu verras que le caractere juste apres la commande "s" (substitute) est pris comme delimiteur "s|ange|demon|" = "s:ange:demon:" = "s/ange/demon/". Quand on manipule des slashs dans les sections (search et/ou replace) c'est agreable de mettre d'autres delimiteurs que / pour eviter d'avoir a "proteger" les / pour eviter de les confondre avec des delimiteurs justement. Il est plus lisible d'ecrire : s|/un/chemin|/autre/endroit| que s/\/un\/chemin/\/autre\/endroit/

Pour les expressions :
^D : La ligne doit commencer par un D majuscule
[0-9] : N'importe quel caractere compris entre 0 et 9
{2} : 2 caracteres (donc 2 chiffres dans notre cas)
\. : Caractere "." (sinon . = n'importe quel caractere)
' : Caractere "'". Pas besoin de proteger, il a pas de signification speciale
g : c'est une option de la commande substitute qui veut dire "global" donc traite toutes les occurences, sinon seul la 1ere occurence est modifiee (man sed pour les autres options)

les parentheses servent a "memoriser" les champs obtenus pour les reutiliser plus tard (les \1 .. \n).

Voila, rien de bien terrible.

]]>
Wed, 14 Dec 2005 00:47:04 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=146669#p146669
<![CDATA[Réponse à : [Résolu] Remplacement de texte avec sed + expressions regulières]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=146354#p146354 Ca marche super merci beaucoup SithLord. J'ai presque tout compris. En fait je me compliquait la vie en voulant placer des * 

Philippe. Ton site en français est sympa, mais c'est juste un survol de linux qui m'a dans ce cas précis pas beaucoup aider (le lien que j'ai donné est plus complet, mais plus difficile d'accès). Mais merci quand même.

]]>
Tue, 13 Dec 2005 17:51:37 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=146354#p146354
<![CDATA[Réponse à : [Résolu] Remplacement de texte avec sed + expressions regulières]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=145892#p145892 Salut,

sed -r -e "s|^D([0-9]{2})\.([0-9]{2})'([0-9]{2})|D\1/\2/\3|g" fichier_money > fichier_grisbi

]]>
Mon, 12 Dec 2005 23:28:08 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=145892#p145892
<![CDATA[Réponse à : [Résolu] Remplacement de texte avec sed + expressions regulières]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=145133#p145133 Essaye de regarder là http://marcg.developpez.com/ksh/

]]>
Sun, 11 Dec 2005 18:47:32 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=145133#p145133
<![CDATA[[Résolu] Remplacement de texte avec sed + expressions regulières]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=145077#p145077 Bonjour,

J'aimerais importer mes fichier .qif générés par money 2001 vers grisbi, or money génére la date sous la forme d'une ligne Djj.mm'aa (avec un . et un ' étrange comme format) alors que grisbi attend Djj/mm/aa (avec 2 /).
Exemple:

[u]dans money[/u]:

D31.12'03
CX
T-70.00
PVirement
L[Liquide]
^
D31.12'03
CX
T-37.82
PAlima
LAlimentation:Nourriture
^

[u]dans grisbi[/u]

D31/12/03
CX
T-70.00
PVirement
L[Liquide]
^
D31/12/03
CX
T-37.82
PAlima
LAlimentation:Nourriture
^

Je pensais régler ça en 2 minutes avec sed, mais je n'arrive pas à le faire aussi facilement. J'ai lu le man de sed et http://www.gnoppix.org/pages/rute/node1 … 0000000000 mais je n'y arrive toujours pas. Quelqu'un pourrait'il me donner la commande (avec en bonus quelques explications). Merci

]]>
Sun, 11 Dec 2005 17:41:59 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=145077#p145077