On Fri, 21 Jan 2011 08:16:15 +0100, Fabien LUCE <f...@lutix.org> wrote: > Bonjour à tous! Salut à toi ! > > 2 petites questions à propos de la commande find. > > 1) pourquoi find / -name "*test*" -mtime +7 -print0 ne se comporte pas > comme find / -print0 -name "*test*" -mtime +7 ? En d'autres termes: le > paramètre d'action print0 doit il toujours etre à la fin de la commande? Si > oui, pourquoi? Le paramètre -print0 (ou -print, ou -ls) est considéré par find comme un paramètre normal de son expression conditionnelle, si ce n'est qu'il est toujours évalué à "vrai" -> tout est traité dans l'ordre où cela est écrit. Donc si -print0 apparaît avant -mtime, les noms des fichiers sont affichés avant que le filtre ne s'applique.
> 2) comment puis-je écrire: liste_fichier=$(find / -name "*test*" -mtime > +7) sans être embêté par les noms de fichiers comprenant des espaces? le > print0 est pas mal mais sans xargs derrière j'ai l'impression que c'est > inutile... Ben avec un simple -print tu auras un nom de fichier par ligne, avec tous tes espaces. Après tout dépend de la façon dont tu vas traiter le contenu de la variable liste_fichier. Sinon tu peux aussi prendre -print0, replacer le séparateur (caractère NULL) par ce que tu veux et jouer avec IFS : liste_fichier=$(find / -name "*test*" -mtime +7 | tr '\000' '|') IFS='|' ; for f in $liste_fichier ; do echo $f ; done > Merci, à bientôt! De rien et A+ Jean-Jacques -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/0c4a5b00c878d8f1a60863e6a176a5ac@localhost