Organiser le contenue d'un fichier

Résolu
brahim -  
 brahim -
Bonjour,
je suis débutant en script shell et j'ai un fichier qui est construise comme suit:

2016-04-20 op1 op2

2016-04-21 op4 op5

et je veux que la sortie soit le fichier suivant

2016-04-20 op1
2016-04-20 op2
2016-04-21 op4
2016-04-21 op5

existe t il une manier avec awk ou sed we un autre script shell pour faire ce ci .?
Mercii

1 réponse

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ awk 'NF {x=$1; print $1, $2; print x, $3}' fichier
    2016-04-20 op1
    2016-04-20 op2
    2016-04-21 op4
    2016-04-21 op5
    0
    1. brahim
       
      Merci dubcek ça marche mai cela valable pour deux opérations seulement sur la ligne y a t il une maniéré pour généralise les opérations c a d quelque soit le nombre des opérations sur la ligne ? par ce que dans mon cas le nombre des opérations varie
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      montre un exemple
      comme ça ?
      $ cat fichier
      2016-04-20 op1 op2 op3
      2016-04-21 op4 op5
      2016-04-22 op6 op7 op8 op9
      $ awk 'NF {for (n=2; n<=NF; n++)print x$1, $n}' fichier
      2016-04-20 op1
      2016-04-20 op2
      2016-04-20 op3
      2016-04-21 op4
      2016-04-21 op5
      2016-04-22 op6
      2016-04-22 op7
      2016-04-22 op8
      2016-04-22 op9
      0
    3. brahim
       
      example ficher input
      2016-04-20 op1 op2 op3...
      2016-04-21 op1 op2 op4 op8 op9
      2016-04-22 op8
      2016-04-23 op7 op3


      fichier output
      2016-04-20 op1
      2016-04-20 op2
      2016-04-20 op3
      .
      .
      2016-04-21 op1
      2016-04-21 op2
      2016-04-21 op4
      2016-04-21 op8
      2016-04-21 op9

      2016-04-22 op8

      2016-04-23 op7
      2016-04-23 op3

      Merci
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      voir post précédednt
      0
    5. brahim
       
      Merci ça marche maintenant
      0