OVH Cloud OVH Cloud

grep et strings : je merdoie...

12 réponses
Avatar
gusto
Bonsoir,

je voudrais faire ceci : chercher dans /dev/hdd1 ( ma partition système )
tous les fichiers contenant la chaine EsartinuL, avec le nom des fichiers
trouvés. J'ai lu qu'il fallait utiliser strings et grep, mais malgré de
longues études (!) je n'arrive pas à trouver la commande qui va bien.

Quelqu'un peut m'aider ?

Merci

10 réponses

1 2
Avatar
Emmanuel Florac
Le Sat, 19 Aug 2006 22:27:35 +0200, gusto a écrit :


je voudrais faire ceci : chercher dans /dev/hdd1 ( ma partition système )
tous les fichiers contenant la chaine EsartinuL, avec le nom des fichiers
trouvés. J'ai lu qu'il fallait utiliser strings et grep, mais malgré de
longues études (!) je n'arrive pas à trouver la commande qui va bien.


Bon, explication rapide : strings renvoie les caractères imprimables
contenu dans un fichier (pratique pour regarder dans un binaire, donc).
grep recherche une chaîne dans un fichier. Avec l'option -l, il n'affiche
que le nom du fichier, pas la ligne qui concorde.
Dans ton cas précis, je ne vois pas bien l'utilité d'utiliser strings :
grep peut très bien chercher dans un fichier binaire. donc un

grep -r -l 'EsartinuL' /point/de/montage/*

devrait fournir la liste demandée.


--
Le travail est la malédiction des classes qui boivent.
O. Wilde.

Avatar
gusto

grep -r -l 'EsartinuL' /point/de/montage/*

devrait fournir la liste demandée.


Merci,

si je fais ça :
grep -r -l 'EsartinuL' /

il m'affiche des centaines de lignes...parmi lesquelles, certes, le
fichier demandé; mais à moi de trier ! Je voudrais qu'il n'affiche QUE
la ou les bonnes réponses

Avatar
Stéphan Peccini

grep -r -l 'EsartinuL' /


Peut-être que la commande suivante ira mieux :

grep -r -l 'EsartinuL' / 2>/dev/null

--
Stéphan
<URL:http://photonature.fr>

Avatar
Nicolas George
Emmanuel Florac wrote in message
:
grep -r -l 'EsartinuL' /point/de/montage/*
^

Le glob est inutile ici.

Avatar
gusto
Le Sat, 19 Aug 2006 22:48:55 +0200, Stéphan Peccini a écrit :


grep -r -l 'EsartinuL' /


Peut-être que la commande suivante ira mieux :

grep -r -l 'EsartinuL' / 2>/dev/null


C'est mieux ! tu pourrais m'expliquer le 2>/dev/null ?
juste pour me coucher meilleur que je ne me suis levé

Gusto


Avatar
Calimero
gusto wrote:
grep -r -l 'EsartinuL' / 2>/dev/null



C'est mieux ! tu pourrais m'expliquer le 2>/dev/null ?
juste pour me coucher meilleur que je ne me suis levé


Ca redirige le flux d'erreur vers /dev/null (le néant !).
La majorité des lignes que tu te prenais avant devaient être des
erreurs (genre permission denied), écrite dans sur la sortie d'erreur
qui est affichée par défaut.

--
@+
Calimero


Avatar
Christophe PEREZ
Le Sat, 19 Aug 2006 23:20:32 +0200, Calimero a écrit:

La majorité des lignes que tu te prenais avant devaient être des
erreurs (genre permission denied), écrite dans sur la sortie d'erreur
qui est affichée par défaut.


Ben, si c'est ça, il va croire, à tort, avoir la liste de tous les
fichiers contenant la fameuse chaîne, alors qu'il en est peut-être loin...

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
lhabert
Nicolas George :

grep -r -l 'EsartinuL' /point/de/montage/*
^

Le glob est inutile ici.


Et même nuisible, car on rate les /point/de/montage/.*.


Avatar
Calimero
Christophe PEREZ wrote:
Le Sat, 19 Aug 2006 23:20:32 +0200, Calimero a écrit:


La majorité des lignes que tu te prenais avant devaient être des
erreurs (genre permission denied), écrite dans sur la sortie d'erreur
qui est affichée par défaut.



Ben, si c'est ça, il va croire, à tort, avoir la liste de tous les
fichiers contenant la fameuse chaîne, alors qu'il en est peut-être loin...


Ah ben ca, personne peut deviner pour lui ce qu'il veut faire
exactement, dans que contexte.
Il a donc intérêt à comprendre chaque élément de la commande fournie
et d'agir en conséquence.
Puis quand on se lance dans un truc, faut éviter de "croire", vaut
mieux comprendre/savoir. ;-)

--
@+
Calimero


Avatar
Christophe PEREZ
Le Sun, 20 Aug 2006 00:16:17 +0200, Calimero a écrit:

Ah ben ca, personne peut deviner pour lui ce qu'il veut faire
exactement, dans que contexte.


Certes

Il a donc intérêt à comprendre chaque élément de la commande fournie
et d'agir en conséquence.


Je sais bien, mais il ne faut pas qu'il prenne le >/dev/null pour une
commande magique qui enlève le superflu :-D

Puis quand on se lance dans un truc, faut éviter de "croire", vaut
mieux comprendre/savoir. ;-)


C'est un peu ce que je voulais mettre en avant, pour qu'il soit vigilant.

--
Christophe PEREZ
Écrivez moi sans _faute !

1 2