Re: Remplacements de caractères indexés

トップ ページ

このメッセージに返信
著者: Frédéric Mantegazza
日付:  
To: guilde
題目: Re: Remplacements de caractères indexés
Soit :

$ cat text
fs,2007,2007,hr,t8,tyv
ddfsfd,dfdssf,2007,2007,5xgf6,gfgt
sd,2008,2007,Fwvhw,x

où je veux remplacer la date qui suite la deuxième virgule...

Pourquoi ceci marche :

$ cat text | perl -pe 's/(.*?),(.*?),\d{4}/\1,\2,2008/'
fs,2007,2008,hr,t8,tyv
ddfsfd,dfdssf,2008,2007,5xgf6,gfgt
sd,2008,2008,Fwvhw,x

et pas ça :

$ cat text | sed -r 's/(.*?),(.*?),\d{4}/\1,\2,2008/'
fs,2007,2007,hr,t8,tyv
ddfsfd,dfdssf,2007,2007,5xgf6,gfgt
sd,2008,2007,Fwvhw,x

On dirait que le quantifieur ? (non avide) ne fonctionne pas en sed...

--
Frédéric

http://www.gbiloba.org