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 :

Retours à la ligne dans les variables


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 64
    Points
    64
    Par défaut Retours à la ligne dans les variables
    Bonjour,

    Si j'exécute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat toto.txt | grep reponse | awk '{print $1" "$10}' | sort | uniq
    J'obtiens bien mes résultats ligne par ligne.

    Mais si j'exécute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RES=`cat toto.txt | grep reponse | awk '{print $1" "$10}' | sort | uniq`; echo $RES
    J'obtiens là aussi mes résultats, mais sur une seule ligne. (avec "echo -e" c'est pareil).
    Comment faire pour avoir là aussi mes résultats ligne par ligne ?

    merci par avance !!!

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    echo par défaut n’interprète pas les séquences d'échappement (dont le \n), essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RES=$(cat toto.txt | grep reponse | awk '{print $1" "$10}' | sort | uniq); echo -e "$RES"
    Cela te donnes t-il le résultat souhaité ?

    Cordialement,
    Idriss

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 64
    Points
    64
    Par défaut
    J'avais déjà essayé avec l'option -e sans succès, mais je ne l'avais pas combiné avec les guillemets autour du $RES !!!

    Merci : le résultat est parfais

  4. #4
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    Je viens de faire le test sans l'option -e et avec les guillemets et cela fonctionne également (contrairement aux simples quotes).

    Par contre elle est nécessaire quand tu lui passe une chaîne avec un \n directement (c'est pour cette raison que j'ai pris l'habitude de la rajouter dès qu'on souhaite interpréter des séquences d'échappement bien que ça ne soit pas toujours utile).

    Cordialement,
    Idriss

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 582
    Points : 19 453
    Points
    19 453
    Par défaut
    Bonjour,

    UMQ ! (Use More Quotes)
    entourez vos variables avec des guillemets !

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Citation Envoyé par sergeh Voir le message
    Bonjour,

    Si j'exécute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat toto.txt | grep reponse | awk '{print $1" "$10}' | sort | uniq
    Que de pipes! Pourquoi pas simplement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/reponse/{print $1" "$10}' toto.txt | sort -u

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

Discussions similaires

  1. retour à la ligne dans les cellules d'une datagrid
    Par johnaliashead dans le forum Silverlight
    Réponses: 1
    Dernier message: 07/10/2010, 15h00
  2. Supprimer des retour à la ligne dans une variable
    Par havany dans le forum Langage
    Réponses: 3
    Dernier message: 28/01/2010, 12h12
  3. Retour à la ligne dans une variable
    Par kanzarih dans le forum Langage
    Réponses: 6
    Dernier message: 31/03/2009, 13h02
  4. Retour à la ligne dans les cellules de mon gridview
    Par rohstev dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/03/2009, 23h01
  5. [Onglets] retour à la ligne dans les onglets
    Par d_token dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/09/2006, 10h45

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