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

Linux Discussion :

Script AWK pour fichiers xyz


Sujet :

Linux

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Script AWK pour fichiers xyz
    Bonjour,

    Voilà j'essaye de me faire un script pour traiter des données de points 3D, c'est à dire des fichiers .xyz. Pour cela j'utilise awk, je voudrais tout simplement calculer les moyennes, les écart types, moy des ecart type... Je veux juste pouvoir controler mes valeurs z (3eme colonne).
    Pour le calcul des moyennes des ecart type, je voudrais créer une colonne avec la valeur z moins la moyenne.
    awk '{totalz += $3} END {print totalz/NR}' $1 #calcul la moyenne des z
    Ensuite je souhaiterai définir l'output en tant que variable et ainsi utiliser
    awk -v var=output '{print $3-A}' $1
    Par exemple:
    awk '{totalz += $3} END {print totalz/NR}' $1 | =var | awk -v A=var'{print $3-A}'$1
    C'est juste le deuxieme process qui me permet de définir ma variable où je bloque...
    N'hésites à me donner quelques pistes qui pourrait m'aider....

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Si j'ai bien compris, la réponse :


    En 2 lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MoyenneZ=$(awk '{totalz += $3} END {print totalz/NR}' $1)
    awk -v A=$MoyenneZ '{print $3-A}' $1
    En 1 ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk -v A=$(awk '{totalz += $3} END {print totalz/NR}' $1) '{print $3-A}' $1

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour ton aide, je viens d'apprendre une nouvelle fonction de awk.
    Etant géologue je ne connais pas encore beaucoup le domaine de la programmation, mais ces petits script avec awk sont d'une grande utilité dans mon travail.
    Si tu as quelques ouvrages sympathiques à me conseiller sur la programmation shell, awk... Je suis preneur.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    ces ouvrages sont un peu vieux , mais ce sont peu des references historique

    The Unix Programming Environment
    http://www.cs.bell-labs.com/cm/cs/upe/index.html

    The AWK Programming Language
    http://www.cs.bell-labs.com/cm/cs/awkbook/index.html

    sinon les livres O'reilly sont tres bien :

    Effective awk Programming, Third Edition
    http://www.oreilly.com/catalog/awkprog3/

    sed & awk, Second Edition
    http://www.oreilly.com/catalog/sed2/

  5. #5
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652

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

Discussions similaires

  1. Script AWK pour calculer le délai et le débit
    Par ahlamNS2 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 29/03/2014, 21h49
  2. Script awk pour la moyenne mobile
    Par aniss1800 dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 26/02/2014, 21h12
  3. Script AWK pour modifier un fichier
    Par leanima dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 13/04/2012, 12h49
  4. script awk pour determiner valmax
    Par maolivar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 17/07/2008, 16h35
  5. Script awk ou ksh pour découper un fichier xml
    Par Griffith dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 15/05/2007, 22h58

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