IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Tronquer des dates dans un .sql de 10go avec sed


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 39
    Points : 42
    Points
    42
    Par défaut Tronquer des dates dans un .sql de 10go avec sed
    Bonjour à tous,

    J'aimerais avoir votre avis sur la faisabilité d'une commande sed, permettant de transformer chaque chose de ce genre :


    '2007-01-01 00:00:00+01' rencontré en '2007-01-01 00:00:00'
    ou '2050-01-01 23:59:59.999+01' en '2050-01-01 23:59:59'

    n'ayant des + que dans mes dates je pensais a une regex de ce genre :

    :[0-9][0-9](.[0-9]*)?+[^']*

    Mais comment faire pour que :


    - le simple quote ne soit pas pris comme délimiteur du sed ?

    - je remplace mon expression par seulement le morceau : :[0-9][0-9]


    j'en suis la : ca ne fonctionne pas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    cat insertOracle2.sql | sed s/:/([0-9][0-9]/)(.[0-9]*)?+[^']*//1/g

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Points : 712
    Points
    712
    Par défaut
    Oui, le + signifie quelque chose dans les expressions régulières
    Ca ça devrait marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat insertOracle2.sql | perl -pe "{s/\.\d+\+\d\d'|\+\d\d'/'/g}"
    L'avantage du perl c'est d'écrire plus simple les décimaux. Ca dit :
    Si tu vois un point suivit de 1 ou plusieurs décimaux suivi d'un plus , de deux décimaux et d'une quote, ou bien seulement un plus suivi de deux décimaux et d'une quote, remplace par rien.

Discussions similaires

  1. Changer le format des dates dans une requête SQL
    Par Tazze-99 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/07/2012, 15h09
  2. Réponses: 1
    Dernier message: 03/04/2009, 10h09
  3. Réponses: 3
    Dernier message: 18/09/2006, 20h55
  4. changer l'ordre des dates dans table
    Par lordyan dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/01/2005, 11h12
  5. Réponses: 3
    Dernier message: 19/03/2003, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo