aide commande find

Le
François Patte
Bonjour,

Je cherche à exclure de la recherche par "find" tous les fichiers et
répertoires commençant par un ".".

man find, recherche google, .

Trouvé des exemples comme celui-là:

find . ! -name '.*' -print

marche pas!

Ou ai-je loupé quelque chose?

Merci.

--
François Patte
Université Paris 5 - Paris
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #1889291
On Mon, 04 Jun 2007 11:13:13 +0200, François Patte :

Je cherche à exclure de la recherche par "find" tous les fichiers et
répertoires commençant par un ".".


Faute de mieux :

find |grep -v "/."

Nicolas George
Le #1889290
François Patte
wrote in message
Je cherche à exclure de la recherche par "find" tous les fichiers et
répertoires commençant par un ".".

man find, recherche google, ....

Trouvé des exemples comme celui-là:

find . ! -name '.*' -print

marche pas!

Ou ai-je loupé quelque chose?


Ça marche très bien, si : si tu regardes bien, tu n'as dans le résultat
aucun fichier ou répertoire dont le nom commence par un point. Ce que tu as,
en revanche, ce sont les fichiers et les répertoires dont le nom ne commence
pas par un point, mais qui sont eux-mêmes dans un répertoire dont le nom
commence par un point.

Par exemple, chez moi, un find bête :

./b64
./.jtalk
./.jtalk/socket

Un find avec ta ligne de commande :

./b64
./.jtalk/socket

Tu remarqueras que le répertoire .jtalk lui-même n'est pas affiché.

Manifestement, ce que tu veux, c'est non seulement ne pas afficher les
répertoire dont le nom commence par un point, mais aussi empêcher la
descente. C'est -prune qu'il faut :

find $HOME -maxdepth 3 -name '.?*' -prune -o -print

Note que j'ai mis « .?* » pour qu'on puisse descendre dans . au départ quand
même.

François Patte
Le #1889284
François Patte
wrote in message
Je cherche à exclure de la recherche par "find" tous les fichiers et
répertoires commençant par un ".".

man find, recherche google, ....

Trouvé des exemples comme celui-là:

find . ! -name '.*' -print

marche pas!

Ou ai-je loupé quelque chose?


Ça marche très bien, si : si tu regardes bien, tu n'as dans le résultat
aucun fichier ou répertoire dont le nom commence par un point. Ce que tu as,
en revanche, ce sont les fichiers et les répertoires dont le nom ne commence
pas par un point, mais qui sont eux-mêmes dans un répertoire dont le nom
commence par un point.

Par exemple, chez moi, un find bête :

./b64
./.jtalk
./.jtalk/socket

Un find avec ta ligne de commande :

./b64
./.jtalk/socket

Tu remarqueras que le répertoire .jtalk lui-même n'est pas affiché.

Manifestement, ce que tu veux, c'est non seulement ne pas afficher les
répertoire dont le nom commence par un point, mais aussi empêcher la
descente. C'est -prune qu'il faut :

find $HOME -maxdepth 3 -name '.?*' -prune -o -print

Note que j'ai mis « .?* » pour qu'on puisse descendre dans . au départ quand
même.


Oui merci! C'est ça. J'étais un peu confusionné (?!) de voir encore des
"." dans la liste des fichiers....

--
François Patte
Université Paris 5 - Paris


Fabien LE LEZ
Le #1889278
On Mon, 04 Jun 2007 17:27:24 +0200, François Patte

[...]


T'es vraiment obligé de recopier 40 lignes de citation juste pour
rajouter deux lignes :-(

Je t'invite à lire
d'urgence.

François Patte
Le #1889277
On Mon, 04 Jun 2007 17:27:24 +0200, François Patte

[...]


T'es vraiment obligé de recopier 40 lignes de citation juste pour
rajouter deux lignes :-(

Je t'invite à lire
d'urgence.


Pourquoi on parle des "trol" qui mobilisent parfois 200 à 300 messages
dans ce mode d'emploi (que je connaissais d'ailleurs mais, je ne suis
pas parfait moi et il m'arrive de faire des fautes... )

bibises.

--
François Patte
Université Paris 5 - Paris


Publicité
Poster une réponse
Anonyme