Commande pour rechercher un fichier sur le disque ?

Le
Eric Bart
bjour,

J'arrive pas à trouver les commandes bash qui permettent de scanner
un disque dur pour un ficher soit en fonction de son nom, soit
en fonction de son contenu

Pour le premier j'ai :
ls -Rl /repertoire | grep chaine
qui marche pas trop mal

Pour le second, la commande cat ne prend pas l'argument -R
Vos réponses
Trier par : date / pertinence
Erwann ABALEA
Le #956535
Bonjour,

On Tue, 27 Jan 2004, Eric Bart wrote:

J'arrive pas à trouver les commandes bash qui permettent de scanner
un disque dur pour un ficher soit en fonction de son nom, soit
en fonction de son contenu ...


find

Pour le premier j'ai :
ls -Rl /repertoire | grep chaine


find /repertoire -name chaine

--
Erwann ABALEA -----
La Fondue Bourguignone> Ca dénote du niveau
JLC> Transitif direct, dénoter.
la netiquette, tu oublies la netiquette
-+- C in GNU - Sans escale : Transit direct pour connardland -+-

Remi Moyen
Le #956401
On Tue, 27 Jan 2004, Eric Bart wrote:

bjour,

J'arrive pas à trouver les commandes bash qui permettent de scanner
un disque dur pour un ficher soit en fonction de son nom, soit
en fonction de son contenu ...

Pour le premier j'ai :
ls -Rl /repertoire | grep chaine
qui marche pas trop mal


Soit find, qui est fait pour ce genre de choses (et bien plus !!), soit
locate (en n'oubliant pas de faire un updatedb de temps en temps), qui est
de *très* loin plus rapide (normal, il scanne un base de donnée bien
classée, et pas l'arborescence physique).

Sur des machines qui n'avaient pas locate, j'utilisais ça :
$ cat /usr/local/bin/Find
echo Begin $0 : $1
find . -name "*$1*" -print
echo End $0

Pour le second, la commande cat ne prend pas l'argument -R


Pour ma part, j'utilise une petite commande que je me suis faite :
$ cat /usr/local/bin/Grep
echo Begin $0 : $1
find . -name "*" -type f -exec grep $1 {} ; -print
echo End $0

Ça marche pas trop mal, sauf qu'il faudrait que je prenne le temps de
mettre les protections kivonbien pour pouvoir chercher des chaines de
caractères complexes (avec guillemets, espaces, slash et backslash, ...).
Mais bon, tant que tu ne cherches qu'un mot tout simple, mon Find et Grep
marchent très bien, et me rendent d'immenses services !
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."

TiChou
Le #956254
Dans l'article news:bv5k6k$31a$,
Eric Bart
bjour,


Bonjour,

J'arrive pas à trouver les commandes bash qui permettent de scanner
un disque dur pour un ficher soit en fonction de son nom, soit
en fonction de son contenu ...

Pour le premier j'ai :
ls -Rl /repertoire | grep chaine
qui marche pas trop mal


find /repertoire -name "*chaine*"

man find

Pour le second, la commande cat ne prend pas l'argument -R


grep -r chaine /repertoire

man grep


A noter que ces commandes ne sont pas propres à bash et que donc ce n'est
pas des commandes bash mais des commandes shells.

Et à noter aussi que ce thread n'a pas sa place sur ce groupe mais sur
fr.comp.os.unix

--
TiChou

Qing Liu
Le #956109
"TiChou"
grep -r chaine /repertoire
...

Et à noter aussi que ce thread n'a pas sa place sur ce groupe mais sur
fr.comp.os.unix


On faut s'attendre à ce qu'on te dise que ton -r (propre à GNU grep)
n'est pas "portable". :)

--
Liu

Qing Liu
Le #956108
"TiChou"
grep -r chaine /repertoire
...

Et à noter aussi que ce thread n'a pas sa place sur ce groupe mais sur
fr.comp.os.unix


Il faut s'attendre à ce qu'on te dise que ton -r (propre à GNU grep)
n'est pas "portable". :)

--
Liu

TiChou
Le #956103
Dans l'article news:,
Qing Liu
grep -r chaine /repertoire
...

Et à noter aussi que ce thread n'a pas sa place sur ce groupe mais
sur fr.comp.os.unix


Il faut s'attendre à ce qu'on te dise que ton -r (propre à GNU grep)
n'est pas "portable". :)


Effectivement, bonne remarque. :) Et titilieux comme ils sont sur la
portabilité, vaudrait mieux alors rester ici. :p

--
TiChou


Eric Bart
Le #957459
Merci à tous

Je note et promets de ne plus reposer cette question.
Publicité
Poster une réponse
Anonyme