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 :

Sélectionner un intervalle de ligne entre motif1 et 2ième occurence de motif2


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Sélectionner un intervalle de ligne entre motif1 et 2ième occurence de motif2
    Bonjour,

    Je dois modifier l'output d'un programme qui assez volumineux pour pouvoir lire les données qui m'intéresse plus facilement. Il s'agit d'un fichier texte que je manipule à l'aide d'un scriptshell (commande bash).

    Etant donné que c'est un projet pour un stage, je n'ai pas beaucoup de temps pour me familiariser complémentent avec les regexp. C'est pourquoi je faits appels à vous ! =p

    1) J'aimerais sélectionner une partie du document qui se trouve entre 2 motifs (motif1 et motif2). Mais j'aimerais que le code prenne en considération la 2ième occurrence du motif2. Exemple :

    motif1              
    blabla                            
    motif2                            
    blabla                            
    motif2                           
    blabla                           
    motif2
    blabla
    Deviendrait :

    motif1 
    blabla
    motif2 
    blabla
    motif2 
    blabla
    Mon idée serait d'utiliser la commande sed :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '/motif1/motif2/!d'  nom_fichier
    Comment la modifer pour que qu'elle prenne la 2ième occurence de motif 2 et non la première ?

    2) Comment convertir des lignes en colonnes ?(en vue d'une importation pour gnuplot)

    exemple :
    x  1 2          
    
    y  12 13
    deviendrait :

    x   y
    1    12
    2    13                        
    Merci d'avance pour votre aide !

  2. #2
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Avec des exemples plus parlant c'eut été mieux

    M'enfin, voilà une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ cat brol 
    motif1
    blabla
    motif2
    blablaA
    motif2
    blablaB
    motif2
    blablaC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ cat script.sed 
    #n
    /motif1/ {                             
        :z                                 
        N                                  
        /motif2$/ !b z                     
        :y                                 
        N                                  
        /.*\nmotif2$/ !b y                 
        N                                  
        p                                  
        q                                  
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ sed -f script.sed brol 
    motif1
    blabla
    motif2
    blablaA
    motif2
    blablaB
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ cat script.sed 
    #n
    /motif1/ {                             
        :z                                 
        N                                  
        /motif2$/ !b z                     
        :y                                 
        N                                  
        /.*\nmotif2$/ !b y                 
        N                                  
        p                                  
        q                                  
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ sed -f script.sed brol 
    motif1
    blabla
    motif2
    blablaA
    motif2
    blablaB
    on pourrait pas aussi faire ça en fixant le nombre d'occurence en chiffre du pattern ?

    parce que je vois mal faire la même chose pour 1000ieme occurence de "motif2"


    j'aime tjrs lire les solutions sed proposées...

  4. #4
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Citation Envoyé par frp31 Voir le message
    on pourrait pas aussi faire ça en fixant le nombre d'occurence en chiffre du pattern ?
    Euh... je ne vois pas comment ?

    parce que je vois mal faire la même chose pour 1000ieme occurence de "motif2"
    Comme toujours la solution est adaptée à la demande. Après si la demande réelle est plus complexe il faudra adapter ou changer carrément d'outils.
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  5. #5
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Euh... je ne vois pas comment ?
    moi non plus
    Comme toujours la solution est adaptée à la demande. Après si la demande réelle est plus complexe il faudra adapter ou changer carrément d'outils.
    oui

  6. #6
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 287
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,

    une solution spéciale pour frp31:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    $ cat oo
    motif1
    blabla
    motif2
    blabla
    motif2
    blabla
    motif2
    blabla
    motif1
    blabla
    motif2
    blabla
    motif2
    blabla
    motif2
    blabla
    $ cat oo | sed ':deb;${s/motif2/motif3/4;s/motif1/motif4/1;s/.*\(motif4.*motif3\n[^\n]*\)\n.*/\1/;s/motif4/motif1/;s/motif3/motif2/};N;bdeb'
    motif1
    blabla
    motif2
    blabla
    motif2
    blabla
    motif2
    blabla
    motif1
    blabla
    motif2
    blabla
    Bien sur, on pourra mieux borner les motifs rechercher, ici c'est juste un exemple pour récupérer par exemple du premier motif1 au quatrieme motif2 (en rouge) + la ligne suivante.
    J'en profite aussi pour donner une solution à la 2éme question pour le fun:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ cat nn
    x  1 2
    y  12 13
    $ paste <(head -1 nn| tr -s ' ' '\n') <(tail -1 nn| tr -s ' ' '\n')
    x       y
    1       12
    2       13
    Cordialement.

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    awk '{for(i=1;i<=NF;i++)a[i]=a[i]?a[i]"\t"$i:$i} END{for(i in a)print a[i]}' nn
    x       y
    1       12
    2       13
    et hop !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonjour

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    $ cat test.txt 
    motif1
    blablaA
    motif2
    blablaB
    motif2
    blablaC
    motif2
    blablaD
    motif1
    blablaE
    motif2
    blablaF
    motif2
    blablaG
    motif2
    blablaH
    $ awk 'BEGIN{nofichier=0} x[$0]++{} (x["motif2"]>2){x["motif2"]="";x["motif1"]="";nofichier++} x["motif1"]{print >>"resultat"nofichier".txt"}' test.txt 
    $ cat resultat0.txt 
    motif1
    blablaA
    motif2
    blablaB
    motif2
    blablaC
    $ cat resultat1.txt 
    motif1
    blablaE
    motif2
    blablaF
    motif2
    blablaG
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci à tous pour vos réponse !

    Concernant mon problème, effectivement ce n'est pas a la deuxième occurence de motif2 que je compte m'arrêté mais bien à la 6ième (c'était pour pouvoir fournir un exemple court que je me suis contenté de 2).

    Ainsi, la réponse qui m'est le plus utile est celle de disedorgue. Par contre je ne vois pas ce que représente motif3 et motif4 dans la ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ cat oo | sed ':deb;${s/motif2/motif3/4;s/motif1/motif4/1;s/.*\(motif4.*motif3\n[^\n]*\)\n.*/\1/;s/motif4/motif1/;s/motif3/motif2/};N;bdeb'
    Et je suppose que pour prendre la 6 ième occurrence je remplace le 4 "isolé"par 6 ?


    Pour la conversion ligne/colonne avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ paste <(head -1 nn| tr -s ' ' '\n') <(tail -1 nn| tr -s ' ' '\n')
    j'obtiens un décalage entre la colonne des "x" et celle des "y". Cela viendrait il du fait que j'utilise de très grande ligne ? Exemple : (ici il y a bien la ligne de x et celle des y)

    0    1E-20      39.6      79.2     118.9     158.5     198.1     237.8     277.4     317.0  
        385.7     421.4     457.1     492.8     528.5     564.2     599.9     635.6     671.3  
        723.1     759.9     796.7     833.5     870.4     907.2     944.0     980.8    1017.6  
       1079.9    1116.2    1152.5    1188.8    1225.1    1261.4    1297.7    1334.0    1370.3  
    4.705E+03 4.705E+03 4.698E+03 4.691E+03 4.684E+03 4.677E+03 4.670E+03 4.663E+03 4.656E+03 4.648E+03
     4.643E+03 4.637E+03 4.631E+03 4.625E+03 4.619E+03 4.613E+03 4.607E+03 4.600E+03 4.594E+03
     4.587E+03 4.581E+03 4.574E+03 4.568E+03 4.561E+03 4.554E+03 4.547E+03 4.540E+03 4.533E+03
     4.527E+03 4.521E+03 4.515E+03 4.509E+03 4.503E+03 4.497E+03 4.491E+03 4.485E+03 4.479E+03 
    Et après conversion

    0	4.705E+03
    1E-20	4.705E+03
    39.6	4.698E+03
    79.2	4.691E+03
    118.9	4.684E+03
    158.5	4.677E+03
    198.1	4.670E+03
    237.8	4.663E+03
    277.4	4.656E+03
    317.0	4.648E+03
    
    	4.643E+03
    385.7	4.637E+03
    421.4	4.631E+03
    457.1	4.625E+03
    492.8	4.619E+03
    528.5	4.613E+03
    564.2	4.607E+03
    599.9	4.600E+03
    635.6	4.594E+03
    671.3	4.587E+03
    
    	4.581E+03
    723.1	4.574E+03
    759.9	4.568E+03
    796.7	4.561E+03
    833.5	4.554E+03
    870.4	4.547E+03
    907.2	4.540E+03
    944.0	4.533E+03
    980.8	4.527E+03
    1017.6	4.521E+03
    
    	4.515E+03
    1079.9	4.509E+03
    1116.2	4.503E+03
    1152.5	4.497E+03
    1188.8	4.491E+03
    1225.1	4.485E+03
    1261.4	4.479E+03
    1297.7	
    1334.0	
    1370.3	
    (encore merci pour vos réponse).

  10. #10
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    petite correction :
    (de l'importance de poster des échantillons réellement représentatifs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk 'BEGIN{PROCINFO["sorted_in"]="@ind_num_asc"}{for(i=1;i<=NF;i++){($i=="0")?$i="0":$i=$i; a[i]=a[i]?a[i]"\t"$i:$i} } END{for(i in a)print a[i]}' fichier
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    0       4.705E+03
    1E-20   4.705E+03
    39.6    4.698E+03
    79.2    4.691E+03
    118.9   4.684E+03
    158.5   4.677E+03
    198.1   4.670E+03
    237.8   4.663E+03
    277.4   4.656E+03
    317.0   4.648E+03
    385.7   4.643E+03
    421.4   4.637E+03
    457.1   4.631E+03
    492.8   4.625E+03
    528.5   4.619E+03
    564.2   4.613E+03
    599.9   4.607E+03
    635.6   4.600E+03
    671.3   4.594E+03
    723.1   4.587E+03
    759.9   4.581E+03
    796.7   4.574E+03
    833.5   4.568E+03
    870.4   4.561E+03
    907.2   4.554E+03
    944.0   4.547E+03
    980.8   4.540E+03
    1017.6  4.533E+03
    1079.9  4.527E+03
    1116.2  4.521E+03
    1152.5  4.515E+03
    1188.8  4.509E+03
    1225.1  4.503E+03
    1261.4  4.497E+03
    1297.7  4.491E+03
    1334.0  4.485E+03
    1370.3  4.479E+03
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  11. #11
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 287
    Points : 12 744
    Points
    12 744
    Par défaut
    Citation Envoyé par Dan_NB Voir le message
    Par contre je ne vois pas ce que représente motif3 et motif4 dans la ligne de code
    Ici, en fait, je transforme l'occurrence du motif1 qui m'interresse par un tag quelconque (ici motif4) et je fais de même avec l'occurence du motif2 voulu par un autre tag quelconque (ici motif3), ensuite je ne garde que du tag représentant le motif1 au tag représentant le motif2 (+ la ligne suivante) puis je retransforme les tag par les vrai nom de motif1 et motif2.
    Le plus propre est d'entourer les vrai motif par des délimiteurs exemple motif1 serait un tag totomotif1toto et motif2 totomotif2toto (en étant sur que toto n'existe pas du tout dans le fichier, comme ceci, il suffirait à la fin de supprimer toutes les occurences toto comme ceci, les motifs peuvent être une expression régulière et non une suite de mots statique bien défini. ce qui donnerait quelque chose comme ceci (pas testé):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ cat oo | sed ':deb;${s/\(motif2\)/toto\1toto/4;s/\(motif1\)/toto\1toto/1;s/.*\(totomotif1toto.*totomotif2toto\n[^\n]*\)\n.*/\1/;s/toto//g};N;bdeb'
    Et je suppose que pour prendre la 6 ième occurrence je remplace le 4 "isolé"par 6 ?
    Exact, idem pour le motif1 (repésenté par le 1 "isolé").
    Pour la conversion ligne/colonne avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ paste <(head -1 nn| tr -s ' ' '\n') <(tail -1 nn| tr -s ' ' '\n')
    j'obtiens un décalage entre la colonne des "x" et celle des "y". Cela viendrait il du fait que j'utilise de très grande ligne ? Exemple : (ici il y a bien la ligne de x et celle des y)
    Ici, j'avais donné cette solution pour le fun et soit dit en passant, je ne rencontre pas ce souci chez moi.
    Par contre je conseillerais d'utiliser la version awk donner par N_BaH qui est plus portable et plus rapide.
    Mais pour m'amuser, voici une autre version en sed :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    $ cat nn
    0    1E-20      39.6      79.2     118.9     158.5     198.1     237.8     277.4     317.0  385.7     421.4     457.1     492.8     528.5     564.2     599.9     635.6     671.3  723.1     759.9     796.7     833.5     870.4     907.2     944.0     980.8    1017.6  1079.9    1116.2    1152.5    1188.8    1225.1    1261.4    1297.7    1334.0    1370.3
    4.705E+03 4.705E+03 4.698E+03 4.691E+03 4.684E+03 4.677E+03 4.670E+03 4.663E+03 4.656E+03 4.648E+03 4.643E+03 4.637E+03 4.631E+03 4.625E+03 4.619E+03 4.613E+03 4.607E+03 4.600E+03 4.594E+03 4.587E+03 4.581E+03 4.574E+03 4.568E+03 4.561E+03 4.554E+03 4.547E+03 4.540E+03 4.533E+03 4.527E+03 4.521E+03 4.515E+03 4.509E+03 4.503E+03 4.497E+03 4.491E+03 4.485E+03 4.479E+03
    $ cat nn | sed -n 'N;s/  / /g;s/^/X/;:deb;s/\(X[^ ]* \) *\([^\n]*\n\)\([^ ]* \)/\1\3X\2/;s/X/ /;tdeb;s/^ //;s/  /\n/gp'
    0 4.705E+03
    1E-20 4.705E+03
    39.6 4.698E+03
    79.2 4.691E+03
    118.9 4.684E+03
    158.5 4.677E+03
    198.1 4.670E+03
    237.8 4.663E+03
    277.4 4.656E+03
    317.0 4.648E+03
    385.7 4.643E+03
    421.4 4.637E+03
    457.1 4.631E+03
    492.8 4.625E+03
    528.5 4.619E+03
    564.2 4.613E+03
    599.9 4.607E+03
    635.6 4.600E+03
    671.3 4.594E+03
    723.1 4.587E+03
    759.9 4.581E+03
    796.7 4.574E+03
    833.5 4.568E+03
    870.4 4.561E+03
    907.2 4.554E+03
    944.0 4.547E+03
    980.8 4.540E+03
    1017.6 4.533E+03
    1079.9 4.527E+03
    1116.2 4.521E+03
    1152.5 4.515E+03
    1188.8 4.509E+03
    1225.1 4.503E+03
    1261.4 4.497E+03
    1297.7 4.491E+03
    1334.0 4.485E+03
    1370.3 4.479E+03
    Cordialement.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Merci pour ces précisions !

    Pour l'histoire des colonnes, j'ai toujours un décallage mais il ne doit s'agir que d'un problème d'affichage car lorsque j'envoie les donnée à gnuplot, il les lit comme il faut. Donc problème résolu =)

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

Discussions similaires

  1. sélectionner un intervalle d'entrées dans une table
    Par byrdo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/04/2009, 09h18
  2. Comment faire un retour ligne entre des " ??
    Par DrTank dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 09/05/2005, 09h35
  3. ne sélectionner qu'une seule ligne d'un SELECT
    Par le-stagiaire dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 29/04/2005, 11h52
  4. Empêcher le retour á la ligne entre des balises <Hx> e
    Par thomas_chamas dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/11/2004, 16h39
  5. [Eclipse 3][Format Source] Sauts de ligne entre attributs
    Par sylvain_2020 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/08/2004, 16h04

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