J'ai un besoin urgent de faire un traitement sur un fichier texte, et
comme je ne suis pas très versé dans l'art du shell, je me tourne vers
vous tous :)
J'ai un relativement gros fichier texte (environ 40000 longues lignes),
donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je
souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas
forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Le Wed, 19 Apr 2006 17:49:08 +0200, Laurent écrivit:
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes. Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Avec une regexp sous vim, ça devrait pouvoir marcher, si tu es sûr de ton format:
Le Wed, 19 Apr 2006 17:49:08 +0200, Laurent écrivit:
J'ai un relativement gros fichier texte (environ 40000 longues lignes),
donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je
souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas
forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Avec une regexp sous vim, ça devrait pouvoir marcher, si tu es
sûr de ton format:
Le Wed, 19 Apr 2006 17:49:08 +0200, Laurent écrivit:
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes. Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Avec une regexp sous vim, ça devrait pouvoir marcher, si tu es sûr de ton format:
J'ai un besoin urgent de faire un traitement sur un fichier texte, et comme je ne suis pas très versé dans l'art du shell, je me tourne vers vous tous :)
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
sed 's|([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])|3-2-1|g' < source > resultat
Attention à l'erreur classique : il ne faut pas mettre pour « resultat » le même nom de fichier que « source », sinon tu écrases « source » avant que sed ait commencé à le lire.
Laurent :
Bonjour.
J'ai un besoin urgent de faire un traitement sur un fichier texte, et
comme je ne suis pas très versé dans l'art du shell, je me tourne vers
vous tous :)
J'ai un relativement gros fichier texte (environ 40000 longues lignes),
donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je
souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
sed 's|([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])|3-2-1|g' < source > resultat
Attention à l'erreur classique : il ne faut pas mettre pour « resultat » le
même nom de fichier que « source », sinon tu écrases « source » avant que
sed ait commencé à le lire.
J'ai un besoin urgent de faire un traitement sur un fichier texte, et comme je ne suis pas très versé dans l'art du shell, je me tourne vers vous tous :)
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
sed 's|([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])|3-2-1|g' < source > resultat
Attention à l'erreur classique : il ne faut pas mettre pour « resultat » le même nom de fichier que « source », sinon tu écrases « source » avant que sed ait commencé à le lire.
Stephane Chazelas
On Wed, 19 Apr 2006 17:49:08 +0200, Laurent wrote: [...]
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
On Wed, 19 Apr 2006 17:49:08 +0200, Laurent wrote:
[...]
J'ai un relativement gros fichier texte (environ 40000 longues lignes),
donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je
souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas
forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
On Wed, 19 Apr 2006 17:49:08 +0200, Laurent wrote: [...]
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
On Wed, 19 Apr 2006 17:49:08 +0200, Laurent wrote: [...]
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Le 19-04-2006, Stephane Chazelas <stephane_chazelas@yahoo.fr> a écrit :
On Wed, 19 Apr 2006 17:49:08 +0200, Laurent wrote:
[...]
J'ai un relativement gros fichier texte (environ 40000 longues lignes),
donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je
souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas
forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
On Wed, 19 Apr 2006 17:49:08 +0200, Laurent wrote: [...]
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Le Wed, 19 Apr 2006 17:49:08 +0200, Laurent écrivit:
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes. Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Avec une regexp sous vim, ça devrait pouvoir marcher, si tu es sûr de ton format:
:%s#(dd)/(dd)/(dddd)#3-2-1#g
Avec vim, on peux plus simplement faire:
:%s#v(dd)/(dd)/(d{4})#3-2-1#g
v, c'est pour "very magic" :)
-- Stéphane
2006-04-19, 16:13(+00), Arnaud Launay:
Le Wed, 19 Apr 2006 17:49:08 +0200, Laurent écrivit:
J'ai un relativement gros fichier texte (environ 40000 longues lignes),
donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je
souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj.
Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas
forcement en nombre identique en fonction des lignes.
Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Avec une regexp sous vim, ça devrait pouvoir marcher, si tu es
sûr de ton format:
Le Wed, 19 Apr 2006 17:49:08 +0200, Laurent écrivit:
J'ai un relativement gros fichier texte (environ 40000 longues lignes), donc, dans lequel on trouve des dates au format jj/mm/aaaa, que je souhaiterais remplacer par les mêmes dates au format aaaa-mm-jj. Ces dates ne sont pas disposées dans les mêmes colonnes, et ne sont pas forcement en nombre identique en fonction des lignes. Quelqu'un pourrait-il me dire comment faire ça autrement qu'à la main ?
Avec une regexp sous vim, ça devrait pouvoir marcher, si tu es sûr de ton format:
:%s#(dd)/(dd)/(dddd)#3-2-1#g
Avec vim, on peux plus simplement faire:
:%s#v(dd)/(dd)/(d{4})#3-2-1#g
v, c'est pour "very magic" :)
-- Stéphane
Sébastien Monbrun aka TiChou
Dans le message <news:e2600q$1kpe$, *Croco* tapota sur f.c.o.unix :
Le Thu, 20 Apr 2006 00:06:17 +0100, Stephane Chazelas écrivit:
:%s#(dd)/(dd)/(dddd)#3-2-1#g Avec vim, on peux plus simplement faire:
:%s#v(dd)/(dd)/(d{4})#3-2-1#g v, c'est pour "very magic" :)
Connaissais pas. Sympa, comme option. ViM, c'est de la balle :)
Espèce de djeun's.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead) --698110915-969806716-1145523254=:439509--
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Le Thu, 20 Apr 2006 00:06:17 +0100, Stephane Chazelas écrivit:
:%s#(dd)/(dd)/(dddd)#3-2-1#g
Avec vim, on peux plus simplement faire:
:%s#v(dd)/(dd)/(d{4})#3-2-1#g
v, c'est pour "very magic" :)
Connaissais pas. Sympa, comme option. ViM, c'est de la balle :)
Espèce de djeun's.
--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)
--698110915-969806716-1145523254=:439509--
Le Thu, 20 Apr 2006 00:06:17 +0100, Stephane Chazelas écrivit:
:%s#(dd)/(dd)/(dddd)#3-2-1#g Avec vim, on peux plus simplement faire:
:%s#v(dd)/(dd)/(d{4})#3-2-1#g v, c'est pour "very magic" :)
Connaissais pas. Sympa, comme option. ViM, c'est de la balle :)
Espèce de djeun's.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead) --698110915-969806716-1145523254=:439509--
Arnaud Launay
Le Thu, 20 Apr 2006 10:54:14 +0200, Stephane Zuckerman écrivit:
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools.