Vérification de fichier dans un script shell

Fermé
user - 15 avril 2005 à 12:51
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 15 avril 2005 à 20:04
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 ...
@+
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
15 avril 2005 à 13:28
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
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
pmx Messages postés 138 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 14 mars 2008 28
15 avril 2005 à 13:50
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
15 avril 2005 à 20:04
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