Recherche

dino -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour a touts ,

J'ai deux demande SVP :
qlq peut me donner SVP une commande shell pour trouver le mot "error" dans un chemin ou il existe plusieurs fichiers et repertoire ?

Comment on lit un fichier ligne par ligne ?

Merci beucoup pour vos reponse !!

A+

5 réponses

dubcek Messages postés 19032 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
Hi
find . -name "*error*" -ls
et
more -1 fichier
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

qlq peut me donner SVP une commande shell pour trouver le mot "error" dans un chemin ou il existe plusieurs fichiers et repertoire ?
find /chemin/repertoire/ -name "*" -exec grep -Hn "error" {} \;
Comment on lit un fichier ligne par ligne ?
comment lire un fichier ligne par ligne

;-))
0
dino
 
Merci a tous les deux !!

voila ce qu'il m'affiche :
root@secu toto]# find /root/toto/ -name "*" -exec grep -H "error" {} \;
/root/toto/bobo/lili:error
/root/toto/bobo/lala:error
/root/toto/tete:error
/root/toto/titi:error

Je voudrai terminer par un affichage beucoup plus parlant genre :

sur le fichier /root/toto/bobo/lili existe une erreur
sur le ficier /root/toto/bobo/lala existe une erreur
....

Merci
0
dubcek Messages postés 19032 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
find /root/toto/ -type f -exec grep -il "error" {} \; | xargs echo erreur dans le fichier {}
0
dino
 
Merci Dubcek ca marche !!

a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 41342 Statut Modérateur 4 896
 
while read line
do echo "$line" | awk -F":" '{ print "Sur le fichier "$1" existe une erreur" }'
done < <(find /root/toto/ -name "*" -exec grep -Ho "error" {} \;)
;-))
0
dino
 
Merci jipicy !! ta solution est interessante ,mais a l'execution voila ce que j'ai :

while read line
do echo "$line" | awk -F ":" '{ print "Sur le fichier "$1" existe une erreur" }'
done << (find /root/toto/ -name "*" -exec grep -Ho "error" {} \;)
~
"test4" 4L, 174C écrit(s)
[root@secu toto]# ./test4
./test4[4]: syntax error: `(' unexpected
[root@secu toto]#


Merci.
0
jipicy Messages postés 41342 Statut Modérateur 4 896 > dino
 
Attention à la syntaxe !!!
done << (find /root/toto/ -name "*" -exec grep -Ho "error" {} \;) 
Il faut un espace entre les 2 chevrons et aucun entre le 2nd chevron et la parenthèse ouvrante :
done < <(find /root/toto/ -name "*" -exec grep -Ho "error" {} \;) 
;-))
0
dino > jipicy Messages postés 41342 Statut Modérateur
 
Bonjour jipicy !

Desolé de te deranger encore mais j'ai fait un copier/collé mais tjrs le meme message :

done < <(find /root/toto/ -name "*" -exec grep -Ho "error" {} \;)

[root@secu toto]# ./test4
./test4[4]: syntax error: `< ' unexpected
[root@secu toto]#

Merci !
0
jipicy Messages postés 41342 Statut Modérateur 4 896 > jipicy Messages postés 41342 Statut Modérateur
 
Re-

Quelle est ta version de bash ?
Affiche ton script en intégralité s'il te plaît.
0
dino > jipicy Messages postés 41342 Statut Modérateur
 
Salut !

Voila le script :
#!/bin/ksh
while read line
do echo "$line" | awk -F ":" '{ print "Sur le fichier "$1" existe une erreur" }'
done < <(find /root/toto/ -name "*" -exec grep -Ho "error" {} \;)
~

Et pour la version :

[root@secu toto]# env
TERM=vt100
SHELL=/bin/bash
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root/toto
SHLVL=1
HOME=/root
LOGNAME=root
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env

Merci !
0