Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Script => recherche dans fichier
Envoyé par: cater069

Bonjour,
je souhaite réaliser un script qui vérifie la présence ou non d'une chaine de caractère dans un fichier...


Plus précisement :
- je saisis un nom d'utilisateur (en paramètre par exemple...)
- je vérifie s'il est dans le fichier correspondant...
- si oui, j'effectue un traitement...


Comment faire pour chercher cette chaine de caractère dans un fichier?

Merci à tous

Poste le Monday 18 July 2005 10:38:06
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: elfato

Citation
auteur
grep $TEXTE $FICHIER 2> /dev/null
if [ $? -ne 0 ]; then
echo "NOT FOUND"
exit 1
else
#traitement
fi
exit 0

à adapter bien sur !

Poste le Monday 18 July 2005 10:57:13
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: elfato

$texte est une variable contenant le texte à chercher (remplace par $1 pour le paramettre 1)
$fichier est ..................le fichier ou chercher (remplace par $2 pour le paramettre 2)


Poste le Monday 18 July 2005 10:58:36
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: cater069

Merci beaucoup...

petite question afin de mieux comprendre...

a quoi correspond le 2> /dev/null ?

Merci

Poste le Monday 18 July 2005 11:03:19
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: cater069

il bloque sur le if... ==> command not found

line 16: [1: command not found

Poste le Monday 18 July 2005 11:36:30
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: nicola

Tu as oublié l’espace entre [ et 1 ?

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 18 July 2005 11:38:52
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: cater069

Oui, c'etait bien ça, j'avais oublié les espaces...

Merci beaucoup

Poste le Monday 18 July 2005 11:45:17
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: cater069

en fait, ca marche pas bien... lol

voici mon script :

read login

FICHIER=/etc/passwd

grep login $FICHIER 2> /dev/null

if [ $? -ne 0 ];then
echo "login inconnu"
exit 1
else
echo "changer le mot de passe"
fi
exit 0



Suite a un echo, je sais que le grep fonctionne, mais que je saisisse un login present, ou non dans passwd, j'ai toujours le retour "login inconnu"...

Poste le Monday 18 July 2005 12:00:58
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: elfato

peut etre que ton shell supporte pas le "; then" moi j'utilises ksh souvent donc j'ai des mauvaises habitudes...

remplaces par :


if ........
then

Poste le Monday 18 July 2005 12:12:22
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: oudoubah

Essaie plutôt comme ça:

grep $login $FICHIER 2> /dev/null


Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Monday 18 July 2005 13:01:08
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: cater069

en effet, c'est beaucoup mieux... quelle inattention...

Merci à tous !!
ca marche nikel

Poste le Monday 18 July 2005 13:37:00
Répondre     Citer    
Re: Script => recherche dans fichier
Envoyé par: Raph__

Salut,
La glibc offre getent pour chercher dans les bases de données administratives (passwd, group, host, services,...).
Avec getent :
db="passwd"
user="john"

if [ $(getent $db $user) ]
then echo "ok" 
else echo "pas ok"
fi

Ciao.

Poste le Monday 18 July 2005 13:56:19
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Script => recherche dans fichier
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons