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

Shell et commandes GNU Discussion :

Changer le format de la date dans un texte


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 109
    Points : 68
    Points
    68
    Par défaut Changer le format de la date dans un texte
    Bonjour,

    En entrée d'un script j'ai fichier texte. Il me faudrait changer le format de toutes les dates de ce fichier. Ces dates peuvent être situées à n'importe quel endroit dans le texte. Il faudrait donc localiser les dates au format 'aa/bb/ccdd' pour les remplacer par 'aa/bb/dd'.
    Est-ce possible facilement et rapidement par sed ou awk?

    Merci par avance!

  2. #2
    Membre actif
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 248
    Points : 289
    Points
    289
    Par défaut
    Voici un début de solution avec awk:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    / ..\/..\/.. / {
    	print "found int the middle of line" $0
    }
     
    /^..\/..\/.. / {
    	print "found at the begining of line" $0
    }
     
    /^..\/..\/..$/ {
    	print "found start and end of line" $0
    }
     
    / ..\/..\/..$/ {
    	print "found at the end of line" $0
    }

  3. #3
    Membre éclairé Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Points : 823
    Points
    823
    Par défaut
    Pour une fois, c'est moi qui donne la solution sed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i 's/\([0-9]\{2\}\/[0-9]\{2\}\/\)[0-9]\{2\}\([0-9]\{2\}\)/\1\2/g' fichier_entree
    Sed, c'est du compact!
    Un problème bien posé est déjà résolu (H. Bergson).

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 109
    Points : 68
    Points
    68
    Par défaut
    Merci à tous les deux. Il me semblait bien que l'on pouvait reprendre les éléments matchés par une expression régulière comme éléments de remplacement ;-)

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer le format d'affichage date dans JTable
    Par Telemak dans le forum Composants
    Réponses: 4
    Dernier message: 22/02/2012, 21h00
  2. Changer le format de la date dans MVC
    Par persia dans le forum C#
    Réponses: 1
    Dernier message: 27/04/2011, 10h15
  3. Changer le format d'une date dans la commande
    Par leloup84 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 07/08/2007, 13h42
  4. formater un champ date dans un select
    Par sbeu dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 24/04/2006, 16h44
  5. [VBA-E]changer le format d'une cellule dans un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 13/02/2006, 11h12

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