Re: [CBLX] Comment éliminer un sous-répertoire lors d'une recherche avec find |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/carrefourblinux Archives
]
- To: carrefourblinux@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [CBLX] Comment éliminer un sous-répertoire lors d'une recherche avec find
- From: Emmanuel COUTRIS <emmanuel.coutris@xxxxxxxxx>
- Date: Mon, 15 Nov 2010 16:40:35 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:subject :message-id:references:mime-version:content-type:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=ZBJV9ZwRxuklz3ASacgdmmqdsW4RZZj8aS6UsZ/XSLI=; b=MBwaQz++ZohU1QZwponnRF4ow3yfMx/i5fwuEnsdsmXwKrBxpmvhYgWBz9QN1t1GMP 4HLcmvhSY2PBAdfDrefEM47OvPMGfo02lOcOUGsaK7NecTcPrcc6PCIRD5l1q3exFOJ6 +YuaKiqHKsdDyaTVHbTptMWKEBHwSvUN2L8ls=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:references:mime-version :content-type:content-disposition:content-transfer-encoding :in-reply-to:user-agent; b=pJ1+3ZZELE6kTtbleR3ZkEYuoymQH1RrYqltAT5g2Ca9c4nEAD578cEf//WYJzNy6m 7UGsFv7yyYxDNhvv/+wDmwqgj6wFJzllY3m62oDiJbzxz3ryNMTp7+uZ3Epahz4IlQid 6sc72WGym7z/M1fyrQd8dOde4Fo9KNADqs0zs=
Salut Philippe et tout le monde,
On Mon, Nov 15, 2010 at 12:54:21PM +0100, Philippe Delavalade wrote:
> Re.
>
> une autre question : peut-on éliminer un sous-répertoire d'une recherche
> avec find ?
Oui, tu as plusieurs méthodes:
1. te servir du filtrage du shell. En effet, find peut prendre
plusieurs path dans ses arguments. Et dans ces arguments, le shell
filtre aussi. En général, on tape toujours "find . -name ..."
(c'est un peu con car le . dans ce cas est superflu!) mais tu
pourrais très bien taper un truc du genre: find [^c]* -name ..., et
là tu élimine tous les fichiers/répertoires commençant par c de
l'exploration find
2. l'utilisation de -path ... -prune. Tu peux coupé l'exploration
d'une partie de l'arborescence. La syntaxe est:
find -path ./rep2 -prune -o ...
IMPORTANT: si tu oublie le -o, rien ne s'affichera.
Remarques:
- si tu ne veux pas que que le nom du/des répertoire/s exclus
soient affiché,il faut ajouter un -print à la fin de l'expression find
- après le -path, c'est un pattern qui est comparé par rapport aux
chemins spécifiés. Par exemple:
find [^c]* -path ./exemples -prune -o -name "*.c" -print
affichera tout de même les .c qui se trouvent dans
exemples. Pourquoi? Car la comparaison du -path échoue: aucun des
chemins listés ne commencent par ./
Voilà... j'espère que je n'ai pas été trop obscur...
Bon find!
Amicalement,
Manu
> Par exemple, le répertoire courant contient rep1, rep2, rep3 et rep4. Je
> veux chercher un fichier 'machin' dedans mais sans perdre de temps dans
> rep2 où je sais ne rien trouver.
>
> La doc ne m'éclaire pas vraiment, sans doute un problème d'anglais !
>
> Merci d'une aide.
>
---
--
CarrefourBLinuX MailingListe
Pour obtenir de l'aide, envoyez le sujet help à:
carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
Archives:
http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux