Extraire les dates d'un fichier

Résolu
tricinti -  
 tricinti -
Bonjour,

de l'aide SVP

je souhaite lire les dates ecrites dans un fichier, les dates sont ecrites sous la forme 01:01:2009
Je veux les afficher sur une seule ligne
j'ai beau essayé avec grep ...

La structure du fichier est comme suit

xxxxxxxxxxxxxxxxxxxxxxxxxxxx 01:01:2009 xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 01:01:2009
.
.
.
en fait le resultat que je veux c'est comme ça: "NOM_Fichier Date_1 Date_2"

merci bcp pour votre aide
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,
    var=$(echo fichier && grep -o '[0-9]\{2\}:[0-9]\{2\}:[0-9]\{4\}' fichier)
    
    echo $var
    ;-))
    0
  2. tricinti
     
    Merci pour vôtre réponse :)
    le résultat de la commande m'affiche uniquement le nom du fichier et pas les dates :(
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Quel système ?
    Quel shell ?
    Quelle version du shell ?
    Quelle version de "grep" ?
    jp@MDK:~/tmpfs ssh$ cat fichier
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx 01:01:2009 xxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 01:01:2009
    
    jp@MDK:~/tmpfs ssh$ var=$(echo fichier && grep -o '[0-9]\{2\}:[0-9]\{2\}:[0-9]\{4\}' fichier)
    
    jp@MDK:~/tmpfs ssh$ echo $var
    fichier 01:01:2009 01:01:2009
    
    jp@MDK:~/tmpfs ssh$
    ;-))
    0
  4. tricinti
     
    euuuh, c'est un solaris et je ne sais pas plus
    je suis vraiment novice :-/

    ça m'a donné grep: illegal option -- o
    Usage: grep -hblcnsviw pattern file . . .
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Est-ce qu'avec "sed" ça le fait :
    sed -ne 's/.*\([0-9]\{2\}:[0-9]\{2\}:[0-9]\{4\}\).*/\1/p' fichier | sed -e ':z;N;$!bz;s/\n/ /g'
    ???
    0
  7. tricinti
     
    non ça donne un autre message: Label too long: :z;N;$!bz;s/\n/ /g :(
    j'ai pu afficher la date existante dans la première ligne grace à cat fichier |grep Debut | awk '{print $6}'
    parceque la date est dans la sixème colonne dans ce fichier la
    mais c'est pas le cas dans les autres, donc si je veux mettre une boucle qui va lire l'ensemble des fichier ça marchera pas
    0
  8. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Et comme ça (pour la partie après le "pipe" (|) :
    |sed -e ':z' -e 'N;$!bz' -e 's/\n/ /g'
    ???
    0
  9. tricinti
     
    la ça marche
    Merci bcp :)
    vous êtes fort
    0