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 :

Afficher une chaîne de caractères inconnue


Sujet :

Shell et commandes GNU

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Afficher une chaîne de caractères inconnue
    Bonjour à tous,

    Je cherche à écrire un script qui me permettrait de récupérer des données dans un fichier .log.
    La valeur que je cherche à récupérer est affichée en gras.
    Cette valeur :
    1. est différente selon les fichiers
    2. s'affiche toujours entre "HF=" et "\RMSD",
    3. peut être à cheval sur deux lignes
    4. sa longueur est différente selon les fichiers .log.


    ,1.3015910014,-0.5160910814\O,5.5286655221,2.2220774789,-0.8017812615\
    O,5.0782194887,0.1093088949,-0.1055186183\C,-1.2944903675,-0.088046448
    1,-0.8463256596\H,-2.0750061475,0.5692827148,-0.4681452193\H,-1.256338
    5565,-0.0340640226,-1.9349741794\H,-1.5294700882,-1.1205828864,-0.5809
    388445\\Version=ES64L-G16RevC.01\State=1-A\HF=-535.1912712\RMSD=2.311e
    -09\RMSF=1.791e-05\ZeroPoint=0.1442582\Thermal=0.1557765\ETot=-535.035
    4948\HTot=-535.0345506\GTot=-535.086698\Dipole=-1.6460897,-1.1013749,0
    .0596651\DipoleDeriv=1.9546271,-0.1242571,0.0931892,-0.8208795,0.81707
    04,0.7234521,-0.5241134,0.7041966,0.810245,-0.8578529,-0.0536456,-0.12
    41248,0.3159241,-0.8767594,-0.4611911,0.2232719,-0.4663277,-0.903013,-
    2.3906217,0.1595181,0.1119592,0.4802427,-0.6547169,-0.2289249,0.169434
    3,-0.227928,-0.6164812,2.7935643,0.4430776,-0.00131,0.144471,0.3198152
    ,-0.0909658,0.2955121,-0.0854664,0.5056436,-0.1013756,-0.042747,0.0040
    282,-0.0050814,-0.0078805,-0.0126468,-0.0030545,-0.0113725,-0.025758,-
    0.0927715,0.0217867,0.0559187,0.0082519,0.1170222,-0.0141687,-0.004371
    5,0.0306549,-0.1647642,-0.0556555,-0.0380108,-0.1214971,-0.0404494,0.0
    366436,-0.0162773,-0.0768652,-0.0104665,0.0021052,0.0267763,-0.0174256
    Merci d'avance !

  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,

    peut être à cheval sur deux lignes
    qu'est-ce que tu veux dire ?
    la valeur peut être coupée ? ou les "repères" peuvent être sur des lignes différentes ?

    GNU sed a une option -z pour traiter les fichiers de plusieurs ±comme une seule ligne...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par N_BaH Voir le message

    qu'est-ce que tu veux dire ?
    la valeur peut être coupée ? ou les "repères" peuvent être sur des lignes différentes ?
    Le nombre de colonnes est toujours le même, la coupure peut être au milieu de la valeur, ou juste avant le repère.

  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
    Ça me rappelle un peu (beaucoup ?) ça : https://www.developpez.net/forums/d2...valeurs-apres/

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par balkany Voir le message
    Ça me rappelle un peu (beaucoup ?) ça : https://www.developpez.net/forums/d2...valeurs-apres/
    Effectivement... C'est même le même logiciel de sortie

    J'avais quelque chose comme ça pour l'instant, ça semble marcher, sauf quand "HF=-" est en bout de ligne. Pourquoi ?
    grep -Po '(?<=HF=-)-?\d+\.?\d+(?=\\RMSD)' >1

  6. #6
    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
    Tu peux adapter ce que j'avais donné en #19 dans la discussion citée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F '=' -v 'RS=\\' '{gsub("\n","")} /HF/{print $2}' nom-du-fichier

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ok merci beaucoup !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/11/2021, 16h42
  2. Réponses: 2
    Dernier message: 23/12/2012, 16h24
  3. Afficher une chaîne de caractère
    Par javast dans le forum C++
    Réponses: 11
    Dernier message: 04/03/2012, 20h40
  4. [NASM] Afficher une chaîne de caractères
    Par z.rhita dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 09/03/2011, 03h42
  5. Afficher une chaîne de caractères sur une seule ligne?
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 3
    Dernier message: 14/06/2006, 23h07

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