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 :

script valeurs après un mot


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut script valeurs après un mot
    Bonsoir; scp je voudrais un script qui me fait sortir ces deux lignes pour chaque fichier:

    6993.792168,-435.5629799 ,-543.1264696,-243.8574187,52.2389104,9.825482,22.3514152,-39.3158857,-9.8823341,-12.3940307
    48.9024304,46.21985,347.4094277,2.3327781,-3.2195505,155.2927391
    c'est à dire les six chiffres apres Polar=
    et les dix chiffres apres Hyperpolar=
    A partir de fichiers ressemblant a ce qui suit et merci d'avance

    fichierAB1:
    3,2.086238,-0.041285\C,0,-3.674939,-0.022005,0.042078\C,0,-3.191597,-
    1.348375,0.226491\C,0,-4.030645,-2.431853,0.251939\H,0,-2.134802,-1.50
    085,0.376174\C,0,-5.884215,-0.983099,-0.073514\C,0,-5.418996,-2.255295
    ,0.093029\H,0,-3.622292,-3.423786,0.403676\H,0,-6.936392,-0.766484,-0.
    19282\H,0,-6.111078,-3.085146,0.106295\C,0,-5.669801,1.425049,-0.29323
    8\H,0,-5.485037,2.059604,0.575185\H,0,-5.265464,1.899595,-1.188534\H,0
    ,-6.742369,1.298673,-0.413774\N,0,-5.05592,0.101413,-0.100401\C,0,1.03
    589,1.181848,0.01248\C,0,0.531527,2.519249,0.03756 2\O,0,1.173039,3.560
    55,0.05234\N,0,-0.896301,2.505471,0.047791\C,0,-1.615675,3.775709,0.08
    171\H,0,-2.219442,3.901838,-0.819997\H,0,-2.250654,3.833254,0.968257\H
    ,0,-0.863026,4.560566,0.121966\C,0,2.386139,-1.542859,-0.032663\C,0,2.
    079466,-2.143644,-1.2533\C,0,2.10136,-2.18171,1.173866\C,0,1.473004,-3
    .397854,-1.262955\H,0,2.31553,-1.63332,-2.179749\C,0,1.49554,-3.436128
    ,1.155002\H,0,2.354698,-1.7008,2.111417\C,0,1.184107,-4.043808,-0.0611
    96\H,0,1.236778,-3.872689,-2.207784\H,0,1.278477,-3.941501,2.088609\H,
    0,0.725894,-5.025981,-0.072719\S,0,-0.292103,0.009999,-0.007635\\Versi
    on=ES64L-G09RevD.01\State=1-A\HF=-1846.3810417\RMSD=5.652e-09\Dipole=-
    2.9282718,-1.3308943,-0.0931382\Polar=548.9024304,46.21985,347.4094277
    ,2.3327781,-3.2195505,155.2927391
    \HyperPolar=-6993.792168,-435.5629799
    ,-543.1264696,-243.8574187,52.2389104,9.825482,22.3514152,-39.3158857,
    -9.8823341,-12.3940307
    \Quadrupole=50.1042017,-13.9408128,-36.1633889,-
    8.0283449,1.2594653,-0.8648172\PG=C01 [X(C21H20N3O1S2)]\\@
      0  1

  2. #2
    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,

    je voudrais un script
    tu veux dire que tu veux faire, ou apprendre à écrire un script qui fait ci et ça, n'est-ce pas ?

    nous ne faisons pas le travail des autres, ni leurs devoirs.

    tu dois montrer ce que tu as fait, et que tu as cherché une solution.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      1  0

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Déjà merci pour votre réponse; non ce n'est pas en devoir que je dois rendre mais plutôt ça m'aide dans mon travail

    Le mieux que j'ai fait c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -n '/Polar=/,/Quadrupole/p' nom-du-fichier
    mais le problème qui se pose est que des fois polar est en deux lignes du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    121221211pol
    ar1221212121
    donc la commande ne marche pas
      0  0

  4. #4
    Membre éprouvé Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 346
    Points : 977
    Points
    977
    Par défaut
    Si Polar et HyperPolar sont toujours précédés par un anti-slash et suivis d'un signe égal, et que le champ contenant le nombre à isoler est bien toujours suivi d'une virgule, alors tu devrais peut-être plutôt utiliser awk :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '[=,]' -v 'RS=\\' '/Polar/{print $2}' nom-du-fichier
    Si Polar et HyperPolar ne s'écrivent pas toujours de cette manière (en particulier avec les majuscules), alors il faut adapter l'expression régulière /Polar/ dans le programme awk.

    +++

    Je me rends compte que quand tu parlais de chiffres dans ton premier post, il s'agissait en fait de nombres, comme l'indique clairement le reste de ton post.
    Dans ce cas, ça donnerait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=\\' '/Polar/{print $2}' nom-du-fichier
    Je laisse quand même la première « solution » : au cas où tu voudrais isoler un nombre, ça te montrera comment faire… (on se rattrape comme on peut )
      0  0

  5. #5
    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
    en mettant tout sur une seule ligne, et si HyperPolar et bien toujours après Polar :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -n ':a;$!{N;ba;};s/\n//g; s/.*\\Polar=\([^\\]*\).*\\HyperPolar=\([^\\]*\).*/\1\n\2/p'
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      0  0

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    en mettant tout sur une seule ligne, et si HyperPolar et bien toujours après Polar :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -n ':a;$!{N;ba;};s/\n//g; s/.*\\Polar=\([^\\]*\).*\\HyperPolar=\([^\\]*\).*/\1\n\2/p'
    Merci pour votre réponse
    sur ce fichier ca ne marche pas?

    27414883,-2.80068849|H,0,4.89327009,-1.34123111,-2.87880029|H,0,4.3242
    1214,0.13713561,-3.61614147|H,0,5.88491835,0.09663742,-2.83152488|S,0,
    3.89127457,0.68531615,1.04602614|N,0,2.75224157,0.37073704,-1.34208351
    |C,0,2.46629481,0.26170773,0.10229667|C,0,-1.18498553,-0.48084873,1.14
    872849|C,0,-2.51925065,-0.24639872,1.11216704|H,0,-3.08287955,-0.21978
    07,2.02129511|C,0,-3.2242556,-0.01828171,-0.23784427|C,0,-2.47973629,-
    0.05453266,-1.42474961|C,0,-3.12451627,0.15290131,-2.64416588|H,0,-1.4
    262708,-0.2396526,-1.39574775|C,0,-5.19376387,0.41681869,-1.42835439|C
    ,0,-4.49885349,0.39152727,-2.6452469|H,0,-2.57493853,0.12940427,-3.561
    94158|H,0,-6.24805815,0.59941779,-1.42374322|H,0,-5.0178681,0.55379693
    ,-3.56676326|C,0,-5.30306335,0.24604441,0.99393235|H,0,-5.65827947,-0.
    73712145,1.22220047|H,0,-4.66559353,0.58704325,1.78276189|H,0,-6.13489
    763,0.91169194,0.89460909|N,0,-4.54803605,0.21376345,-0.26693706|C,0,1
    .277252,-0.12114555,0.62781309|C,0,0.96240823,-0.23339178,2.12690427|O
    ,0,1.78752312,0.06085701,3.03032755|N,0,-0.42192908,-0.70691343,2.4054
    198|C,0,-1.00824367,0.02300324,3.53871445|H,0,-1.02309561,1.07014608,3
    .31923491|H,0,-2.00772113,-0.32064631,3.70559721|H,0,-0.42068753,-0.14
    919014,4.41622638|C,0,1.98832937,-0.60842131,-2.12858654|H,0,2.2258831
    1,-1.59701338,-1.79518916|H,0,0.94113936,-0.43051314,-1.99958381|H,0,2
    .24192071,-0.51045803,-3.16347523|S,0,-0.15652992,-0.54034701,-0.29721
    188||Version=EM64W-G09RevE.01|State=1-A|HF=-1648.7772651|RMSD=7.048e-0
    09|Dipole=-5.5676511,0.0412021,-2.5393295|Polar=332.7991262,-0.6193637
    ,99.8786764,6.6211561,0.5968292,235.4350169|HyperPolar=-310.268231,136
    .8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,-
    521.9044356,35.3931657,-215.8164|Quadrupole=52.8616985,-38.9536683,-13
    .9080303,-8.8113919,-9.2244524,2.8179156|PG=C01 [X(C16H18N3O1S2)]||@
      0  1

  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
    non, ça ne fonctionne pas puisque le "séparateur" n'est plus \, mais |.
    il faut adapter.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      2  0

  8. #8
    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,

    Juste pour information, pour les 2 samples juste concaténé dans un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $  awk -F '[\\\\|]' 'BEGIN{RS="@"}{print $(NF-5)"\n"$(NF-4)}' samples
    Polar=548.9024304,46.21985,347.4094277
    ,2.3327781,-3.2195505,155.2927391
    HyperPolar=-6993.792168,-435.5629799
    ,-543.1264696,-243.8574187,52.2389104,9.825482,22.3514152,-39.3158857,
    -9.8823341,-12.3940307
    Polar=332.7991262,-0.6193637
    ,99.8786764,6.6211561,0.5968292,235.4350169
    HyperPolar=-310.268231,136
    .8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,-
    521.9044356,35.3931657,-215.8164
    Mais, est-ce qu'ils sont toujours à ces positions... ?
    Cordialement.
      0  0

  9. #9
    Membre éprouvé Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 346
    Points : 977
    Points
    977
    Par défaut
    Ce sont les sauts de ligne résiduels qui ne te plaisent pas dans ma proposition ?
    Tu peux faire ça sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=\\' '/Polar/{gsub("\n","",$2); print $2}' nom-du-fichier
    Et si le délimiteur de lignes change, il suffit de reporter ce changement au niveau du RS= :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=|' '/Polar/{gsub("\n","",$2); print $2}' nom-du-fichier
      0  0

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Bonjour,

    Juste pour information, pour les 2 samples juste concaténé dans un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $  awk -F '[\\\\|]' 'BEGIN{RS="@"}{print $(NF-5)"\n"$(NF-4)}' samples
    Polar=548.9024304,46.21985,347.4094277
    ,2.3327781,-3.2195505,155.2927391
    HyperPolar=-6993.792168,-435.5629799
    ,-543.1264696,-243.8574187,52.2389104,9.825482,22.3514152,-39.3158857,
    -9.8823341,-12.3940307
    Polar=332.7991262,-0.6193637
    ,99.8786764,6.6211561,0.5968292,235.4350169
    HyperPolar=-310.268231,136
    .8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,-
    521.9044356,35.3931657,-215.8164
    Mais, est-ce qu'ils sont toujours à ces positions... ?
    oui ils sont a la meme position a la fin du fichier

    Citation Envoyé par balkany Voir le message
    Ce sont les sauts de ligne résiduels qui ne te plaisent pas dans ma proposition ?
    Tu peux faire ça sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=\\' '/Polar/{gsub("\n","",$2); print $2}' nom-du-fichier
    Et si le délimiteur de lignes change, il suffit de reporter ce changement au niveau du RS= :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=|' '/Polar/{gsub("\n","",$2); print $2}' nom-du-fichier
    Merci ca marche et si je veux lancer la commade sur tout les fichiers *.out d'un répertoire pour un résultat d'un seul coup de la sorte

    nom-du -fichier
    332.7991262,-0.6193637 ,99.8786764,6.6211561,0.5968292,235.4350169
    -310.268231,136 .8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,- 521.9044356,35.3931657,-215.8164
    nom-du -fichier
    332.7991262,-0.6193637 ,99.8786764,6.6211561,0.5968292,235.4350169
    -310.268231,136 .8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,- 521.9044356,35.3931657,-215.8164
    nom-du -fichier
    348.3308051,0.2456 78,128.56784,6.4628527,0.6555265,249.8750908
    -367.8828343,1 13.0258747,-32.8454065,11.6893551,-301.6998263,60.0115679,-41.2481129, -542.9139361,21.9230514,-209.6434909
      0  0

  11. #11
    Membre éprouvé Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 346
    Points : 977
    Points
    977
    Par défaut
    À condition que tous tes fichiers *.out aient le même séparateur de lignes, par exemple | :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=|' 'FNR==1{print FILENAME} /Polar/{gsub("\n","",$2); print $2}' /chemin-vers-le-répertoire/*.out
    Il existe aussi une syntaxe propre à gawk (GNU awk, vers lequel pointe probablement awk chez toi : pour le vérifier, ls -l /usr/bin/awk), qui évite le test FNR==1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=|' 'BEGINFILE{print FILENAME} /Polar/{gsub("\n","",$2); print $2}' /chemin-vers-le-répertoire/*.out
      2  0

  12. #12
    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
    $ sed -z 's/\n//g;s@\\@\n@g' 20191021_fichierAB1.txt |sed '/Polar/!d'
    Polar=548.9024304,46.21985,347.4094277,2.3327781,-3.2195505,155.2927391
    HyperPolar=-6993.792168,-435.5629799,-543.1264696,-243.8574187,52.2389104,9.825482,22.3514152,-39.3158857,-9.8823341,-12.3940307
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ sed -z 's/\n//g;s@|@\n@g' 20191021_fichier2.txt |sed '/Polar/!d'
    Polar=332.7991262,-0.6193637,99.8786764,6.6211561,0.5968292,235.4350169
    HyperPolar=-310.268231,136.8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,-521.9044356,35.3931657,-215.8164
    À noter:
    • option -z pour que tout le fichier soit dans l'espace de travail.
    • On peut utiliser "grep" en second étage à la place de sed.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
      1  0

  13. #13
    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 Flodelarab Voir le message
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ sed -z 's/\n//g;s@\\@\n@g' 20191021_fichierAB1.txt |sed '/Polar/!d'
    Polar=548.9024304,46.21985,347.4094277,2.3327781,-3.2195505,155.2927391
    HyperPolar=-6993.792168,-435.5629799,-543.1264696,-243.8574187,52.2389104,9.825482,22.3514152,-39.3158857,-9.8823341,-12.3940307
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ sed -z 's/\n//g;s@|@\n@g' 20191021_fichier2.txt |sed '/Polar/!d'
    Polar=332.7991262,-0.6193637,99.8786764,6.6211561,0.5968292,235.4350169
    HyperPolar=-310.268231,136.8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,-521.9044356,35.3931657,-215.8164
    À noter:
    • option -z pour que tout le fichier soit dans l'espace de travail.
    • On peut utiliser "grep" en second étage à la place de sed.
    Ici, j'adore la simplicité
    Cordialement.
      0  0

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Merci pour toutes vos réponses j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for i in $(pwd)/*.out;
    do
    echo $i
    echo awk -F '=' -v 'RS=\\' '/Polar/{gsub("\n","",$2); print $2}' $i
    echo $i  
    grep -A 1 Tot= $i
    grep Approx $i
    echo $i
    awk -F '=' -v 'RS=|' '/Polar/{gsub("\n","",$2); print $2}' $i
    done
      0  0

  15. #15
    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
    Same player shoot again.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ sed -z 'y/\n\\/ \n/;' 20191021_fichierAB1.txt | grep 'Polar'                                                         
    Polar=548.9024304,46.21985,347.4094277 ,2.3327781,-3.2195505,155.2927391
    HyperPolar=-6993.792168,-435.5629799 ,-543.1264696,-243.8574187,52.2389104,9.825482,22.3514152,-39.3158857, -9.8823341,-12.3940307
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ sed -z 'y/\n|/ \n/;' 20191021_fichier2.txt | grep 'Polar'                                                            
    Polar=332.7991262,-0.6193637 ,99.8786764,6.6211561,0.5968292,235.4350169
    HyperPolar=-310.268231,136 .8596018,-26.8950518,-39.5777845,-294.0528687,77.9741809,-11.1576499,- 521.9044356,35.3931657,-215.8164
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
      0  0

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Ici, j'adore la simplicité
    ca ne marche pas si polar est écris en deux lignes

    498553,-0.48084873,1.14872849|C,0,-2.51925065,-0.24639872,1.11216704|
    H,0,-3.08287955,-0.2197807,2.02129511|C,0,-3.2242556,-0.01828171,-0.23
    784427|C,0,-2.47973629,-0.05453266,-1.42474961|C,0,-3.12451627,0.15290
    131,-2.64416588|H,0,-1.4262708,-0.2396526,-1.39574775|C,0,-5.19376387,
    0.41681869,-1.42835439|C,0,-4.49885349,0.39152727,-2.6452469|H,0,-2.57
    493853,0.12940427,-3.56194158|H,0,-6.24805815,0.59941779,-1.42374322|H
    ,0,-5.0178681,0.55379693,-3.56676326|C,0,-5.30306335,0.24604441,0.9939
    3235|H,0,-5.65827947,-0.73712145,1.22220047|H,0,-4.66559353,0.58704325
    ,1.78276189|H,0,-6.13489763,0.91169194,0.89460909|N,0,-4.54803605,0.21
    376345,-0.26693706|C,0,1.277252,-0.12114555,0.62781309|C,0,0.96240823,
    -0.23339178,2.12690427|O,0,1.78752312,0.06085701,3.03032755|N,0,-0.421
    92908,-0.70691343,2.4054198|C,0,-1.00824367,0.02300324,3.53871445|H,0,
    -1.02309561,1.07014608,3.31923491|H,0,-2.00772113,-0.32064631,3.705597
    21|H,0,-0.42068753,-0.14919014,4.41622638|C,0,1.98832937,-0.60842131,-
    2.12858654|H,0,2.22588311,-1.59701338,-1.79518916|H,0,0.94113936,-0.43
    051314,-1.99958381|H,0,2.24192071,-0.51045803,-3.16347523|S,0,-0.15652
    992,-0.54034701,-0.29721188||Version=EM64W-G09RevE.01|State=1-A|HF=-16
    55.5964412|RMSD=6.670e-009|Dipole=-5.0355349,0.0580285,-2.2618645|Pola
    r=399.0819696,0.3780517,137.7508108,6.8861467,-0.2766246,273.2366043|H
    yperPolar=-2843.1582646,160.9794985,-31.8127931,20.485959,-572.6839217
    ,101.8582483,-40.642245,-877.6781298,34.7148673,-268.1840978|Quadrupol
    e=50.8926976,-37.59692,-13.2957776,-7.0281935,-7.7076326,1.8553663|PG=
    C01 [X(C16H18N3O1S2)]||@
      0  1

  17. #17
    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
    Ce n'est pas parce que c'est écrit en deux lignes mais parce que les lettres majuscules et les lettres minuscules ne sont pas les mêmes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -z 'y/\n|/ \n/;' fichier.txt | grep -i 'Polar'
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
      0  0

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    j'u aussi ces deux commandes la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tr -d '\n' < data.txt | sed 's/\\/\n\\/g' | fgrep '\Polar=' | sed 's/\\Polar=//'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tr -d '\n' < data.txt | sed 's/\\/\n\\/g' | fgrep '\HyperPolar=' | sed 's/\\HyperPolar=//'
    comment changer le séparateur entre | et \ pour régler le problème si polar est écris en deux lignes
      0  1

  19. #19
    Membre éprouvé Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 346
    Points : 977
    Points
    977
    Par défaut
    Autant pour moi, je ne me rends compte que maintenant que ce que je t'ai donné ne marchait pas dans le cas d'un « Polar » en plusieurs lignes. Décidément…
    Donc voici le correctif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=|' '{gsub("\n","")} /Polar/{print $2}' nom-du-fichier
      1  0

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    dans ce cas ca ne donne qu'une seule ligne?

    9663742,-2.83152488|S,0,3.89127457,0.68531615,1.04602614|N,0,2.7522415
    7,0.37073704,-1.34208351|C,0,2.46629481,0.26170773,0.10229667|C,0,-1.1
    8498553,-0.48084873,1.14872849|C,0,-2.51925065,-0.24639872,1.11216704|
    H,0,-3.08287955,-0.2197807,2.02129511|C,0,-3.2242556,-0.01828171,-0.23
    784427|C,0,-2.47973629,-0.05453266,-1.42474961|C,0,-3.12451627,0.15290
    131,-2.64416588|H,0,-1.4262708,-0.2396526,-1.39574775|C,0,-5.19376387,
    0.41681869,-1.42835439|C,0,-4.49885349,0.39152727,-2.6452469|H,0,-2.57
    493853,0.12940427,-3.56194158|H,0,-6.24805815,0.59941779,-1.42374322|H
    ,0,-5.0178681,0.55379693,-3.56676326|C,0,-5.30306335,0.24604441,0.9939
    3235|H,0,-5.65827947,-0.73712145,1.22220047|H,0,-4.66559353,0.58704325
    ,1.78276189|H,0,-6.13489763,0.91169194,0.89460909|N,0,-4.54803605,0.21
    376345,-0.26693706|C,0,1.277252,-0.12114555,0.62781309|C,0,0.96240823,
    -0.23339178,2.12690427|O,0,1.78752312,0.06085701,3.03032755|N,0,-0.421
    92908,-0.70691343,2.4054198|C,0,-1.00824367,0.02300324,3.53871445|H,0,
    -1.02309561,1.07014608,3.31923491|H,0,-2.00772113,-0.32064631,3.705597
    21|H,0,-0.42068753,-0.14919014,4.41622638|C,0,1.98832937,-0.60842131,-
    2.12858654|H,0,2.22588311,-1.59701338,-1.79518916|H,0,0.94113936,-0.43
    051314,-1.99958381|H,0,2.24192071,-0.51045803,-3.16347523|S,0,-0.15652
    992,-0.54034701,-0.29721188||Version=EM64W-G09RevE.01|State=1-A|HF=-16
    55.5964412|RMSD=6.670e-009|Dipole=-5.0355349,0.0580285,-2.2618645|Pola
    r=399.0819696,0.3780517,137.7508108,6.8861467,-0.2766246,273.2366043|H
    yperPolar=-2843.1582646,160.9794985,-31.8127931,20.485959,-572.6839217
    ,101.8582483,-40.642245,-877.6781298,34.7148673,-268.1840978|Quadrupol
    e=50.8926976,-37.59692,-13.2957776,-7.0281935,-7.7076326,1.8553663|PG=
    C01 [X(C16H18N3O1S2)]||@
      0  0

Discussion fermée
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Sécurité] Script exécuté après paiement
    Par frol dans le forum Langage
    Réponses: 6
    Dernier message: 12/05/2006, 20h28
  2. Probleme pour mettre le 0 de fin apres un mot
    Par Asmod_D dans le forum C
    Réponses: 14
    Dernier message: 13/03/2006, 12h30
  3. [conseil] script de génération de mots de passe
    Par spilliaert dans le forum Langage
    Réponses: 11
    Dernier message: 07/02/2006, 20h10
  4. Récupération valeur après validation du formulaire
    Par Bluespike62 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2006, 14h37
  5. une valeur apres la virguile
    Par adgabd dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/02/2005, 11h27

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