Un gd merci nicolas C est cela Je me suis fait une appli java qui donne la meme chose...mais je suis decu de ne pas pouvoir combiner des criteres complexes dans find Lol ---- Envoyé avec BlackBerry® d'Orange ----
-----Original Message----- From: Nicolas Bercher <nberc...@yahoo.fr> Date: Wed, 08 Feb 2012 17:02:22 To: jerome moliere<jerome.moli...@gmail.com> Cc: debian-utilisateur<debian-user-french@lists.debian.org> Subject: Re: Opportunité de script shell jerome moliere a écrit : > Bonjour à tous, > je ne suis pas très scripts shells mais là je soupçonne avoir > l'occasion d'en faire un , du coup je ne sais pas trop comment m'y > prendre... > En gros mon besoin: je dois trouver dans qq milliers de répertoires > descendant de repos svn lesquels ne conttiennent pas un fichier donné > (toto.txt disons) sachant qu'ils doivent contenir un tata.txt (pour en > filtrer la majeure partie déjà) > > je pensais à find mais je ne vois pas comment dire d'exclure (inclure > pas de souci) un pattern donné, donc faire la négation... > une grosse boucle for ? ca va ramer non? > > bref votre avis m'intéresse... > pas de perl je suis allergique -) > un zsh serait il mieux armé qu'un bash pour cela ? > > en regardant xargs je suis tombé sur gnu parallel mais il ne semble > être dans les repo ..c'est normal ? > j'ai trouvé un truc appelé r-cran mais est ce la même chose ? Voici, je pense une solution avec un find et une fonction bash: Soit l'arborescence suivante: $ find . ./a ./a/b ./a/b/c ./a/b/c/tata.txt ./a/b/c/toto.txt ./a/b/tata.txt ./a/toto.txt et le script suivant: ---------------8<--------------- #!/bin/bash # # name: testifandifnot # function dirok () { [ -f "${1}"/tata.txt ] && [ ! -f "${1}"/toto.txt ] && echo "${1}" } export -f dirok find . -type d -exec bash -c 'dirok "$1"' _ {} \; ---------------8<--------------- Voici le résultat: $ ./testifandifnot ./a/b $ ls -1 ./a/b c tata.txt Est-ce bien cela? Nicolas