Le 12/02/2013 19:01, Philippe Delavalade a écrit : > Bonjour. > > J'ai un pépertoire qui contient des sous-répertoires ; dans chacun de ces > derniers j'ai des fichiers sur lesquels je veux faire des opérations > (toujours les mêmes). > > J'ai donc envisagé un script du genre > > for dir in `find -mindetph 1 -type d` > do > pushd "$dir" > commande1 > ... > commanden > popd > done > > l'option -mindepth est là pour éviter les soucis avec ./ > > Seulement ça ne marche pas car certains des sous-répertoires comporte une > espace (ou plusieurs) dans leur nom.
ton find sort les résultats comme il faut, mais après 'in' ne sait plus faire la différence entre les espaces séparant les résultats de find et ceux qui sont dans les noms de répertoire. mais une bonne pipe (;-p) et tout est repeuplé : find ... | while read dir; do macommande "$dir" ... done bien sûr, le défaut est que les actions sont dans un sous shell (elles sont sous la pipe;-p). donc ça marche pas si tu veux que ta commande aie une action sur ton shell courant. on s'en sort avec des echo foobar dans le fils, que le père (ou la mère?) interprète et exécute. -- 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/511d72b2.3060...@ml.netoyen.net