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 :

problème script et commande awk


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut problème script et commande awk
    Bonjour !
    J'ai un petit problème avec un script que j'ai fait qui permet la création d'utilisateur à partir de données présentes dans un fichier texte.
    Je m'explique, voilà la partie de mon script qui récupère les différentes données du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	u=$(cat -b $1 | grep $cpt | awk '{ print $4 }');
    	echo "utilisateur " $u
    	nom=$(cat -b $1 | grep $cpt | awk '{ print $2 }');
    	echo "nom " $nom
    	prenom=$(cat -b $1 | grep $cpt | awk '{ print $3 }');
    	echo "prenom " $prenom
    	mot=$(cat -b $1 | grep $cpt | mawk '{ print $5 }');
    	echo "mdp " $mot
    $1 est le nom du fichier passé en paramètre.
    $cpt est un compteur qui permet de se déplacer ligne par ligne dans le fichier.

    Le fichier texte est de cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nom1 prenom1 login1 mdp1
    nom2 prenom2 login2 mdp2
    nom3 prenom3 login3 mdp3
    ...
    Le mot de passe est un nombre à 7 caractères, et c'est ça justement qui ne va pas.
    Quand j'exécute mon script je me rend compte que les variable ne contiennent pas du tout ce que je voudrais.
    ça donne un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    utilisateur : login1 login2 login3
    nom : nom1 nom2 nom3
    prenom : prenom1 prenom2 prenom3
    mdp : mdp1 mdp2 mdp3
    En mettant des chaines de caractères comme mot de passe (et pas des chiffres) ça fonctionne très bien, pour chaque ligne (à chaque exécution de ma bouche while), on récupère bien les renseignement de l'utilisateur de la ligne parcourue.
    ça fonctionne aussi avec certains nombres (1111111 ou 2222222 par exemple).

    Quelqu'un aurait une idée pour résoudre mon problème ?
    Je suis assez novice en script shell, je n'utilise peut être pas les bonnes commandes
    Merci.

  2. #2
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Problème résolu
    Pour ceux que ça intéresse, j'ai changé une partie de ma commande, en remplaçant par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -v cpt=$cpt 'NR == cpt { print "utilisateur : " $4 "\nnom : " $2 "\nprenom : " $3 "mdp : " $5 }'

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

Discussions similaires

  1. Problème avec la commande awk
    Par etudiant-apprenant dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 10/11/2013, 16h08
  2. problème script avec commande ll ?
    Par sajodia dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 30/05/2008, 11h26
  3. problème script et commande awk
    Par sajodia dans le forum Shell et commandes GNU
    Réponses: 17
    Dernier message: 30/05/2008, 09h16
  4. commande awk dans script perl
    Par sorilazer dans le forum Langage
    Réponses: 3
    Dernier message: 19/07/2007, 10h16
  5. problème avec la commande awk
    Par salseropom dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 05/06/2007, 13h02

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