On Sunday 27 February 2011 à 01:16:35PM, Luxpopuli Open source wrote: > Bonjour et merci pour votre contribution. > > La seule version qui marche vraiment est: > > time find /usr/local/www/ -type f -size +10M -print0 | xargs -0 ls -Ssh1 |wc > -l
Non, ce n'est pas la seule :-) > Les résultats sont classés et c'est la plus rapide (pas de beaucoup mais > bon...) Non plus, ce n'est pas la plus rapide. ;-) > Celle-ci > > time find /usr/local/www/ -size +10M -exec ls -Ssh1 {} \;|wc -l > > fonctionne mais ne classe pas les résultats. On voit qu'il n'est > effectivement pas besoin de protéger {} > > Et celle-ci: > > find /foo -size +10M -exec ls -bla {} + > > ne marche pas du tout ;-) > > il faut au minimum ajouter «\;» et supprimer le + Non, faut juste ne pas la copier/coller betement dans un terminal. Une version prete à etre copiée/collée : $ time find /usr/local/www -size +10M -exec ls -Ssh1 {} + Et chez moi ça donne dans tous les cas de meilleurs résultats que find -print0 | xargs -0. Sinon, pourquoi utiliser ls -Ssh1 si le but est de compter le nombre de ces fichiers ? $ time find /usr/local/www -size +10M -exec printf %.sx {} + | wc -c Cette version diffère dans le sens où un 'x' est affiché pour chaque fichier, et on compte le nombre de x final. Fonctionne sans ls -1 en cas de fichiers comportant des caractères exotiques dans leur nom, et ptet plus efficace vu qu'on écrit moins de choses dans le pipe. Sinon, man find, info find, http://mywiki.wooledge.org/UsingFind Ciao -- "Free software, free society." Jérémie Courrèges-Anglas GPG key : 06A11494
pgpWWoofVv6MA.pgp
Description: PGP signature