Vérification de fichier dans un script shell

user -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je voudrais savoir si en script shell, il était possible de récupérer une chaîne de carcatère d'un fichier.
Le script demande de rentrer une combinaison de chiffres. L'utlisateur rentre sa combinaison. Le script vérifie le fichier qui contient qui contient la combinaison ( En occurence la première ligne du fichier. ) et renvoie un message positif si la comparaison entre les deux chaînes sont corrects, un meesage d'erreur si cela ne correspond pas.
Voila, cela est-il possible ?
Je vous remercie d'avance si vous avez des idées ...
@+

4 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Voila, cela est-il possible ?
    Oui c'est possible ;-))

    Des pistes :
    man sed
    man awk
    man bash (commande "read")
    man cut

    Ton devoir est à rendre pour quand ?
    0
  2. user
     
    BIen pour les pistes....
    non ce n'est pas un devoir, mais désireux d'apprendre le shell, et dans un ensemble général, à savoir ce qui est possible à faire avec.

    Merci.
    @+
    0
  3. pmx Messages postés 138 Statut Membre 28
     
    Un truc comme ça devrait suffire :

    read nombre
    N=$(cat $fichier | head -n1 | tr -d ' ')

    if [ "$nombre" = "$N" ]; then
    ok
    else
    pas pareil
    fi
    0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Ou encore comme ça (et il existe encore d'autres possibilités) :
    [jp@Mandrake tmpfs]$ cat resume.txt
    lsof 468
     latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
     latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
     latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
    
    [jp@Mandrake tmpfs]$ cat essai.sh
    #! /bin/bash
    # essai.sh
    
    echo "Entrez votre numéro identifiant : "
    read numero
    var=`sed -n '1p' resume.txt | awk ' { print $2 }'`
    if [ "$var" = "$numero" ]
    then
    echo "Vous avez entré le bon identifiant! "
    else
            echo "Vous n'avez pas entré le bon identifiant ! Sorry ! "
    fi
    
    [jp@Mandrake tmpfs]$ sh essai.sh
    
    Entrez votre numéro identifiant :
    468
    Vous avez entré le bon identifiant!
    
    [jp@Mandrake tmpfs]$ sh essai.sh
    Entrez votre numéro identifiant :
    587
    Vous n'avez pas entré le bon identifiant ! Sorry !
    
    [jp@Mandrake tmpfs]$
    ;-))
    0