Re: [LA-discussions] copier avec chemin complet |
[ Thread Index | Date Index | More linuxarverne.org/discussions Archives ]
Salut On Sat, Jun 07, 2008 at 10:09:57PM +0200, Daniel Cartron wrote: > [SNIP] > Dans amarok la liste (daniel.mu3) ressemble à ça : > > #EXTM3U > #EXTINF:199,La san girbazo > ../../../../../Musique/Jukebox/Traditionnel/Centre France/Louis Sclavis - > André Ricros/le partage des eaux/01 - La san girbazo.ogg Donc si je comprends bien, tu souhaite utiliser la playlist pour faire la copie. Tu peux donc utiliser grep(1) pour supprimer les lignes de commentaires (option -v), et récupérer une liste de fichier, qui passée à xargs(1) permettra de copier les fichiers comme il faut: > grep -v "^#" < daniel.m3u | sed 's/^[.\/]*//' | xargs -I '{}' sh -c 'DD="/point/de/montage/$(dirname "{}")"; [ -d "$DD" ] || mkdir -p "$DD"; cp "{}" "$DD"' sed(1) supprime les . et les / en début de nom de fichier (tu peux supprimer plus de caractères si nécessaire naturellement, genre 's/^[.\/]*Musique\/Jukebox\///'. Comme il faut créer les répertoires de destination s'ils n'existent pas, xargs exécute un shell pour chaque fichier : sh(1). On stocke le nom du répertoire de destination dans une variable (DD=...), s'il n'existe pas (test(1) / [(1)) on le créé avec mkdir(1). On copie ensuite le fichier dans le répertoire avec cp(1). Une autre solution serait de trouver un utilitaire qui permette de sélectionner un dossier source, un dossier cible, affiche les fichiers et dossiers avec des cases à cocher pour signifier si les fichiers doivent être copiés et permétant de faire une sélection avant de lancer la copie des fichiers retenus. Ça rapelle des choses à quelqu'un ? @+ Ro -- Romain Tartière <romain@xxxxxxxxxxxx> http://romain.blogreen.org/ pgp: 8DAB A124 0DA4 7024 F82A E748 D8E9 A33F FF56 FF43 (ID: 0xFF56FF43) (plain text =non-HTML= PGP/GPG encrypted/signed e-mail much appreciated)
Attachment:
pgpsOcw0ZKckE.pgp
Description: PGP signature
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |