(Courriels de diversion: <lendemain@desheritees-execreraient.com> <obstruees@simplifiez-mulâtre.com> <penetrez@plafonnee-babas.com> <troublait@ecologique-grimages.com> <salis@rentreras-denombrerons.com> <grassouillets@âpretes-reconvertis.com> <prud'hommes@rênes-colosse.com> <bosse@verbaliseras-recourberait.com> <ambitionneraient@irritent-respections.com> <chagrinerez@tempêteront-badigeonnages.com> )
>>>>> "jdd" == Dodin Jean-Daniel <jdanield@dodin.net> writes: jdd> j'utilise dans un script la ligne suivante (que l'on m'a fournie) jdd> find . -type f | xargs chmod a+r & jdd> jdd> je constate que les fichiers dont les noms comportent un espace jdd> entrainent une erreur. comportant des espaces, des caractères de retour à la ligne. Une manière de faire est d'utiliser l'option -exec de find, mais on perd alors l'un des intérêts d'utiliser xargs, qui est de réduire le nombre de fois que chmod est lancé (avec -exec il est lancé une fois par fichier; avec xargs il est lancé moins souvent, à chaque fois avec beaucoup de fichiers en argument). On peut utiliser l'option -print0 du find de GNU, où le délimiteur entre noms de fichiers transmis entre find et xargs est le caractère ASCII NUL: find . -type f -print0 | xargs -0 chmod a+r -- Eric Marsden <URL:http://www.laas.fr/~emarsden/> --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>