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 :

Awk et lecture de variables


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Points : 89
    Points
    89
    Par défaut Awk et lecture de variables
    Bonjour,

    Avant tout, voici une partie de mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    echo "Entrez un ou des nom(s) d'utilisateur (séparés par un espace):"
    read nom
     
    if [ ! -z "$nom" ]
    then
       for user in $nom
       do
       verif_utilisateur $user
     
       if test $? -eq 1
       then
               awk 'BEGIN {FS=":"}
               $1 == user {print "nom user: "$1}' /etc/passwd
     
        else
               echo "L'utilisateur $user n'existe pas"
         fi
         done                                                                             
    else
           echo "Vous devez entrer au moins le nom d'un utilisateur !"
    fi
    Cette fonction doit permettre de récupérer les informations d'un ou des utilisateurs, après avoir renseigné leurs noms. Tout marche bien, sauf lors de mon test avec awk. En effet, je n'arrive pas a récupérer la valeur de la variable user.

    Je me demandais aussi comment il était possible de mettre des apostrophes dans un print awk.

  2. #2
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    bonjour,
    as-tu essayé d'échapper tes apostrophes ? ' devient \' ; " devient \", etc

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Points : 89
    Points
    89
    Par défaut
    Alors j'ai bien échappé mes apostrophes mais rien y fait...impossible des les afficher. Je vais certainement opter pour les "`" qui eux passent très bien.
    Merci tout de même.

  4. #4
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    attention aux ` qui sont également utilisés pour éxécuter un programme en bash/sh !

  5. #5
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Points : 89
    Points
    89
    Par défaut
    ui, ui, mais je pense qu'en échappant ce caractère il ne devrait pat y avoir de problèmes.

  6. #6
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Points : 89
    Points
    89
    Par défaut
    L'option -v de awk permet d'assigner une valeur à une variable utilisable dans awk.
    Ainsi, on peut faire ce genre de choses:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    user=xxxx
    awk -F: -v user=$user '{if ($1==user) print $1" "$3}' /etc/passwd

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

Discussions similaires

  1. AWK, commande systeme et variable
    Par blacknight74 dans le forum Linux
    Réponses: 14
    Dernier message: 15/09/2007, 14h52
  2. [JSTL] Lecture de variable impossible (bis)
    Par Mister Nono dans le forum Struts 1
    Réponses: 8
    Dernier message: 12/09/2007, 21h06
  3. Probleme de lecture de variable ${ma_variable}
    Par willoi dans le forum Spring
    Réponses: 3
    Dernier message: 06/08/2007, 15h07
  4. Problème de lecture de variable
    Par k.cheker dans le forum C
    Réponses: 15
    Dernier message: 29/03/2007, 17h23
  5. [FLASH MX] currentItem, prob lecture de variable
    Par totoche dans le forum Flash
    Réponses: 5
    Dernier message: 16/09/2005, 13h03

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