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 :

indexage inverse pour awk


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Par défaut indexage inverse pour awk
    Bonjour,

    Je cherche a faire ceci :

    echo "a_b_c_d" | awk -F "_" '{print $1"."$2"."$3"."$4}'

    mais je voudrais que $1 corresponde a d donc au dernier element
    $2 -> c
    $3 -> b
    $4 -> a
    Je voudrai donc avoir un indexe inversé pour les différents éléments que me retourn awk
    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Par défaut
    j'ai trouvé une méthode :

    echo "a_b_c_d" | awk -F "_" '{print $(NF-3)"."$(NF-2)"."$(NF-1)"."$(NF)}'
    qui me donne :
    a.b.c.d

    maitenant j'aimerais pouvoir faire exactement la meme chose mais sans connaitre le nombre d'elements.

    echo "a_b_c_d_......._n" | awk -F "_" '{print ........"."$(NF-3)"."$(NF-2)"."$(NF-1)"."$(NF)}'
    je voudrais :
    a.b.c.d........n

    En gros il me faudrai une sorte de boucle me permettant de faire du print $(NF-n) avec n <= NF.
    Mais je connai pas grand chose en shell si kkun avai une idée se serai cool.

    Merci.

  3. #3
    Membre émérite 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
    Par défaut
    Ça ne fait pas exactement ce que tu veux, je te laisse paufiner
    http://www.shellunix.com/awk.html


    liste.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1_2_3_4_5_6
    1_2_3_4_5_6_7_8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    awk -F"_" '
    {
    	for (DecrIndice=NF ; DecrIndice > 0 ; DecrIndice--) {
    		printf("%s.",$DecrIndice)
    	}
    	print ""
    } ' liste.txt
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    6.5.4.3.2.1.
    8.7.6.5.4.3.2.1.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Par défaut
    Merci pour ta reponse.
    c'est ce que je cherchais

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

Discussions similaires

  1. Datetime à inverser pour l'avoir en FR
    Par yule dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/10/2010, 21h10
  2. [PsPAd] Coloration syntaxique pour Awk
    Par AlHun dans le forum Autres EDI
    Réponses: 2
    Dernier message: 21/09/2009, 12h11
  3. Indexage logique pour plusieurs valeurs
    Par Gui13 dans le forum MATLAB
    Réponses: 6
    Dernier message: 04/07/2007, 10h23
  4. Indexage logique pour plusieurs valeurs
    Par Dam2227 dans le forum MATLAB
    Réponses: 4
    Dernier message: 13/06/2007, 14h48
  5. Code source de FFT et FFT inverse pour Delphi
    Par david_chardonnet dans le forum Delphi
    Réponses: 2
    Dernier message: 06/03/2007, 21h46

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