#1 Le 04/04/2010, à 15:18
- Arclight
Exclure des sous-répertoires avec Find ?
Bonjour,
Je bloque depuis un petit moment sur le problème suivant :
Je souhaite créer des liens symboliques vers une sélection de sous-répertoires. Je pensais donc utiliser une commande du type :
find /photos -type d -print0 | xargs -0 -n 1 ln -s
Ca marche très bien, SAUF que des sous-répertoires apparaissent dans le résultat du find et que je souhaite les exclure. Et là, je sèche.
Le find me renvoie toutes les lignes du style :
/photos/Yo/Lavaur 2007.02.22/
/photos/Yo/Lavaur 2007.02.22/@eaDir/
/photos/Yo/Lavaur 2007.02.22/@eaDir/dsc03818.jpg
/photos/Yo/Lavaur 2007.02.22/@eaDir/dsc03819.jpg
Rien d'étonnant : @eaDir et dsc03818.jpg sont bien des sous-répertoires générés automatiquement par un programme tiers et qui contiennent des miniatures qui ne m'intéressent pas.
J'ai donc tenté un truc du style :
find /photos -type d ! -name "@eaDir"
Résultat : il ignore le répertoire en question, mais pas les répertoires qu'il contient :
/photos/Yo/Lavaur 2007.02.22/
/photos/Yo/Lavaur 2007.02.22/@eaDir/dsc03818.jpg
/photos/Yo/Lavaur 2007.02.22/@eaDir/dsc03819.jpg
Comment pourrais-je ignorer tout ces répertoires @eaDir, ainsi que leur contenu ?
D'avance merci !
Yoann
Hors ligne
#2 Le 04/04/2010, à 15:38
- Michel Leunen
Re : Exclure des sous-répertoires avec Find ?
Et avec l'option -maxdepth, tu as essayé. Si tu dois rechercher dans /photos/Yo/Lavaur, ton maxdepth est de 3.
find /photos -maxdepth 3 ...
Je ne sais pas si ça t'aide vu que tu ne dis rien de la structure de tes répertoires.
Michel Leunen
http://linux.leunen.com
Hors ligne
#3 Le 04/04/2010, à 15:46
- Watael
Re : Exclure des sous-répertoires avec Find ?
find /photos -type d ! -wholename "*@eaDir*"
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 04/04/2010, à 18:00
- Arclight
Re : Exclure des sous-répertoires avec Find ?
Nickel ! -wholename résoud bien le problème !
J'avais pensé à Maxdepth aussi, mais la structure est hétérogène, donc ça n'est pas applicable et j'ai oublié de le préciser.
Merci encore !
Hors ligne
#5 Le 04/04/2010, à 18:31
- Michel Leunen
Re : Exclure des sous-répertoires avec Find ?
Regarde aussi du côté de -path qui a pas mal de possibilité aussi.
Michel Leunen
http://linux.leunen.com
Hors ligne