Arrrghhhhh finalement y a pas grand chose qui pourrais me satisfaire finalement...
On Sun, Jan 23, 2011 at 01:47:36AM +0100, Jeremie COURREGES-ANGLAS wrote: > On Saturday 22 January 2011 à 10:36:57PM, Yves Rutschle wrote: > > On Sat, Jan 22, 2011 at 10:06:27PM +0100, Fabien LUCE wrote: > > > je viens d'essayer un petit: > > > tar cjvf test.tar.bz2 $(find . -mindepth 1 -name "*" -exec echo {} +) > > Eeek. > Y'a un gros souci là. > Dans ton utilisation de find, tu ne résouds en rien le problème des noms de > fichiers problématiques, pour une bonne raison : tu laisses le shell > "splitter" la sortie de find, par la simple utilisation de $(...). > Tu pourrais, en étant vraiment vicieux, utiliser find pour ta tâche : > > $ find . -mindepth 1 -exec tar cjvf test.tar.bz2 {} + > > Mais ce genre d'utilisation est déconseillée, car on crée ainsi des archives > qui s'extraient dans le répertoire courant. > > > J'ai peut-être raté un épisode, mais pourquoi ne pas faire > > un simple: > > > > tar cjvf test.tar.bz2 * > > > > ? > > Histoire de sauvegarder aussi les fichiers et répertoires cachés ? > Ou pas... > > > Sinon, j'aurais tendance à ajouter des guillements autour > > des noms de fichiers qui contiennent des espaces, donc: > > > > tar cjvf test.tar.bz2 $(find . -mindepth 1 -name "*" -exec echo \"{}\" +) > > Inutile, le problème intervient lorsque le shell interprète la sortie de la > substitution $(...). > De manière générale, utiliser $(...) sans guillemets doubles autour est une > erreur. > > Pas besoin de mettre des guillemets autour de {} : le shell n'interprète > pas les noms de fichier car {} est une sémantique interne à find(1). > find(1) passe directement par un appel à execvp(2) pour lancer la commande, > donc les noms de fichiers représentés par {} ne sont pas interprétés. > > > Pas testé, donc sans garantie. > > > > Y. > > > -- > "Free software, free society." > Jérémie Courrèges-Anglas > GPG key : 06A11494 -- Fabien LUCE Jabber ID: f...@lutix.org Identi.ca: http://identi.ca/ftg Web: www.lutix.org -- 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/20110123125107.ga25...@serveur.lutix.org