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 :

formatage dans awk


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Par défaut formatage dans awk
    Bonjour,

    Je voudrais faire un formatage pour une des colonnes de données pour un fichier ensuite reproduire un nouveau fichier avec ces données formatées. Quel genre de syntaxe faudrait-il utiliser?

    Merci d'avance,

    Clément

  2. #2
    Expert confirmé 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 : 48
    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
    Par défaut
    tout dépend du format d'entrée et du format de sortie attendue... donc on peut pas répondre.

    e r r t
    en entree pour
    r e t
    en sortie par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{ print $2" "$1" "$4 }' fichier_entrée > fichier sortie
    mais c'est spécifique au changement de "e r r t" en "r e t"
    donc sans ton besoin exact on peut pas te répondre. j'insiste

  3. #3
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    awk dispose d'une fonction printf ( similaire au C ) qui permet de formater l'affichage

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Par défaut
    Oui, je connais printf, mais comme il y a tellement de colonnes dans le fichiers et je ne voulais pas toucher les autres à part de la colonne qui m'intéresse.En plus, je connais pas le format d'entrées du fichier original.



    Citation Envoyé par becket Voir le message
    awk dispose d'une fonction printf ( similaire au C ) qui permet de formater l'affichage

  5. #5
    Membre très actif

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Par défaut
    Donne un exemple concret, sinon, on y arrivera jamais...

    Tu peux par exemple nous faire un truc du genre :

    Fichier en entrée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NOM;AGE
    TOTO;12.2248765457421
    TUTU;59.54657531354657
    Fichier en sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TOTO, 12 ans
    TUTU, 59 ans
    En bonus, voilà le script awk qui correspond (ça te donnera peut-être des idées )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ cat test
    NOM;AGE
    TOTO;12.2248765457421
    TUTU;59.54657531354657
    $ awk -F';' '{if (NR>1) printf ("%s, %d ans\n",$1,$2)}' test
    TOTO, 12 ans
    TUTU, 59 ans

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Par défaut
    Merci pour votre réponse, et pour l'info, je travaille dans win32 en utilisant gawk. Je veux faire des calculs pour les données dans un fichier d'entrée, les données sont sous forme de 3.3810830896328
    0.3127507145763
    1.6187476662371
    0.1058373280992.
    mais mon système, il ignore les chiffres après le point. par exemple
    3.3810830896328/100, ça donne 0.03

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Par défaut
    Je voudrais juste formater une colonne par exemple $10 à %15f qu'était %13f en gardant les même formats pour les restes.

    Merci d'avance

    Citation Envoyé par frp31 Voir le message
    tout dépend du format d'entrée et du format de sortie attendue... donc on peut pas répondre.

    e r r t
    en entree pour
    r e t
    en sortie par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{ print $2" "$1" "$4 }' fichier_entrée > fichier sortie
    mais c'est spécifique au changement de "e r r t" en "r e t"
    donc sans ton besoin exact on peut pas te répondre. j'insiste

Discussions similaires

  1. Fonction dans awk
    Par ech363 dans le forum Linux
    Réponses: 5
    Dernier message: 04/12/2006, 17h36
  2. [VBA-W] Garder le formatage dans un TextBox
    Par Blackfox dans le forum VBA Word
    Réponses: 5
    Dernier message: 06/11/2006, 12h30
  3. Cut dans Awk
    Par lili_bzh dans le forum Linux
    Réponses: 3
    Dernier message: 24/01/2006, 10h12
  4. Commange Grep dans Awk
    Par lili_bzh dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2006, 11h49
  5. Problème formatage dans balise title / alt
    Par jflebegue dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 09/12/2004, 15h18

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