Commande pour rechercher un fichier sur le disque ?
7 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Erwann ABALEA
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 - RSA PGP Key ID: 0x2D0EABD5 ----- 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 -+-
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 <erwann@abalea.com> - RSA PGP Key ID: 0x2D0EABD5
-----
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 -+-
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 - RSA PGP Key ID: 0x2D0EABD5 ----- 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
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, ..."
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, ..."
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
Dans l'article news:bv5k6k$31a$, Eric Bart écrivait :
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
Dans l'article news:bv5k6k$31a$1@news-reader5.wanadoo.fr,
Eric Bart <eric.bart@wanadoo-tralala.fr> écrivait :
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
Dans l'article news:bv5k6k$31a$, Eric Bart écrivait :
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
"TiChou" writes:
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
"TiChou" <gro.uohcit@uohcit> writes:
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". :)