Pages : 1
#1 Le 01/10/2008, à 16:07
- probably-me
[Résolu]Commande copier-coller
Déjà, bonjour ,
petit nouveau sur Ubuntu (Allez, on dira depuis une bonne semaine) j'ai pas mal touché à tout ce qui était commandes etc... Et là, en bon geek que je suis, j'aimerais faire une commande pour copié collé des épisodes de séries que j'ai sur mon disque dur externe dans mon dossier video.
Jusqu'ici, j'aurai pu utilisé que
cp /media/DisqueExterne /home/tom/video
mais ces video sont dans des fichiers séparés. Pour vous donner un ordre d'idée :
-/media/disqueExterne/Série/Episode1/Episode1.avi
-/media/disqueExterne/Série/Episode2/Episode2.avi
-....
et je voudrais obtenir, après mon copier-coller :
-/home/tom/video/Série/Episode1.avi
-/home/tom/video/Série/Episode2.avi
-...
Voilà, j'espère avoir été clair, et s'il est possible qu'on m'explique comment la commande marche, bah c'est que mieu.
Merci d'avance
EDIT : Solution : cp /media/disqueExterne/Série/*/*.avi /home/[user]/Video/Serie
Merci Rom:rolleyes:
Dernière modification par probably-me (Le 01/10/2008, à 16:46)
"Quand la rivière est rouge empreinte le petit chemin boueux"
Hors ligne
#2 Le 01/10/2008, à 16:10
- tiky
Re : [Résolu]Commande copier-coller
Avec la magnifique commande find !
find /media/disqueExterne/Série/ -name *.avi -exec cp {} /home/tom/video/Série/ \;
Attention: Je n'ai pas testé, il peut y avoir des fautes de syntaxe
Pour comprendre la commande:
man find
Dernière modification par tiky (Le 01/10/2008, à 16:12)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#3 Le 01/10/2008, à 16:26
- probably-me
Re : [Résolu]Commande copier-coller
J'ai essayer, il me réponds qu'il manque un parametre pour le -exec . Jai pourtant chercher dans man find, etc... Mais rien du tout..
Dernière modification par probably-me (Le 01/10/2008, à 16:28)
"Quand la rivière est rouge empreinte le petit chemin boueux"
Hors ligne
#4 Le 01/10/2008, à 16:29
- Hoper
Re : [Résolu]Commande copier-coller
J'ai essayer, il me réponds qu'il manque un argument pour le -exec
Tu peux copier/coller exactement ce que tu tape et ce qu'il répond ?
Parce que la comme ca, au premier coup d'oeil, je vois pas d'erreur de syntaxe (meme si moi non plus j'ai pas testé, donc je peux la rater aussi).
Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org
Hors ligne
#5 Le 01/10/2008, à 16:29
- yohann
Re : [Résolu]Commande copier-coller
find /media/disqueExterne/Série/ -exec cp '{}' /home/tom/vidéo/Série/ \;
c'est peut etre pas la méthode la plus simple ou la plus élégante par contre...
pour comprendre comment ça fonctionne, rien ne vaut man find (et pas mal de patience)
en gros la commande find vas trouver tous les fichier et repertoire dans /média/disqueExterne/Série/
puis l'option -exec va appliquer sur chaque élément trouvé la comande cp
le '{}' correspond alors au nom du trouvé par find
on copie les fichier dans /home/tom/vidéo/Série/ puis \;
signifie que l'option -exec est terminé (pour pouvoir eventuellement passer d'autre parametres a find)
enfin il est a noté que c'est un peu porky car on fait aussi un cp de tout les repertoire (car find les trouvent) mais la commande cp (que nous utilisons ici sans l'option -r) vas ommetre les repertoire trouvé par find pour ne copier que les fichier.
on pourrait en effet affiner cette commande en donnant plus de parametre a find par exemple:
- fichier uniquement
- un pattern avec le nom du fichier
mais bon, je vais pas te faire tout le boulot, sinon ce serait pas marrant
ps: j'aime bien ta signature d'un gout plutot douteux...:lol:
edit: multigrilled
edit: s'il te manque un parametre pour exec c'est parce que ton shell va interpreter certain caracteres et donc ils ne seront pas passé a la commande find,
pour cette commande les caracteres suivant doivent etre protégés:
{
}
;
donc conretement c'est {} qui provoque l'erreur a mon avis, protege le avec des ' ou des \
'{}' ou \{\}
Dernière modification par yohann (Le 01/10/2008, à 16:33)
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#6 Le 01/10/2008, à 16:33
- probably-me
Re : [Résolu]Commande copier-coller
C'est pas ce que je demande, je veux surtout pas que tu me fasse tout le boulot, sinon, je te fax mon PC et j'attends que tu me le renvoie.
Cela dis, après un man find (Et une bonne dose de patience) y me réponds toujours qu'il manque un paramètre. Voila ce que je tape et ce qui me reviens :
tom@tom-laptop:"~"$ find /media/WD\ Passport/Disk\ extern/Californication.S01.COMPLETE.VOSTFR-PM4/ -name *.avi -exec cp {} /home/tom/Vidéos/Californication/
find: Paramètre manquant pour « -exec »
EDIT : Je vais tester en protégeant { & }
EDIT : Même en protégeant les accolades, pas moyen de la faire fonctionner.. . Je pige pas le paramètre qu'il réclame.
Dernière modification par probably-me (Le 01/10/2008, à 16:39)
"Quand la rivière est rouge empreinte le petit chemin boueux"
Hors ligne
#7 Le 01/10/2008, à 16:34
- yohann
Re : [Résolu]Commande copier-coller
find /media/WD\ Passport/Disk\ extern/Californication.S01.COMPLETE.VOSTFR-PM4/ -name *.avi -exec cp '{}' /home/tom/Vidéos/Californication/
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#8 Le 01/10/2008, à 16:35
- ®om
Re : [Résolu]Commande copier-coller
cp /media/DisqueExterne/Série/*/*.avi /home/tom/video/Série
Hors ligne
#9 Le 01/10/2008, à 16:36
- yohann
Re : [Résolu]Commande copier-coller
:lol::lol:
euh j'ai trop honte
merci rom pour la leçon d'humilité
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#10 Le 01/10/2008, à 16:44
- probably-me
Re : [Résolu]Commande copier-coller
Waooo. Bon, j'avoue que ca fais un choque. C'est un peu trop simple . Merci quand même. Autre chose, parce-que je suis têtu, une idée de pourquoi ca marchais pas avec find ?
(Je passe le topic en résolu)
"Quand la rivière est rouge empreinte le petit chemin boueux"
Hors ligne
#11 Le 01/10/2008, à 16:45
- yohann
Re : [Résolu]Commande copier-coller
a mon avis a cause des {} qui n'était pas échappés
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#12 Le 01/10/2008, à 16:49
- ®om
Re : [Résolu]Commande copier-coller
Parce qu'il manquait des ' ' autour du *.avi, et il manquait le \; à la fin.
Au passage, autant mettre des ' ' aussi pour les répertoires avec espaces, ça évite de les backslasher :
find '/media/WD Passport/Disk extern/Californication.S01.COMPLETE.VOSTFR-PM4' -name '*.avi' -exec cp {} /home/tom/Vidéos/Californication/ \;
La différence entre la commande que j'ai donnée plus haut et celle-ci, c'est que celle-ci prend tous les .avi récursivement, alors que l'autre ne prend que les .avi à un niveau de profondeur 1 (/*/*.avi).
Hors ligne
#13 Le 01/10/2008, à 17:03
- tiky
Re : [Résolu]Commande copier-coller
Parce qu'il manquait des ' ' autour du *.avi, et il manquait le \; à la fin.
Au passage, autant mettre des ' ' aussi pour les répertoires avec espaces, ça évite de les backslasher :find '/media/WD Passport/Disk extern/Californication.S01.COMPLETE.VOSTFR-PM4' -name '*.avi' -exec cp {} /home/tom/Vidéos/Californication/ \;
La différence entre la commande que j'ai donnée plus haut et celle-ci, c'est que celle-ci prend tous les .avi récursivement, alors que l'autre ne prend que les .avi à un niveau de profondeur 1 (/*/*.avi).
Les '' autour de *.avi ne sont pas nécessaires, par contre il fallait évidemment mettre le \; donc ma commande était juste
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#14 Le 01/10/2008, à 17:08
- ®om
Re : [Résolu]Commande copier-coller
Les '' autour de *.avi ne sont pas nécessaires, par contre il fallait évidemment mettre le \; donc ma commande était juste
Si, ils sont nécessaires, car sinon, si tu as un fichier avi dans le répertoire courant ($PWD) quand tu exécutes la commande, le * sera expansé.
Si tu n'as pas de fichier .avi dans le répertoire courant, ça reviendra au même...
Hors ligne
#15 Le 01/10/2008, à 17:28
- tiky
Re : [Résolu]Commande copier-coller
tiky a écrit :Les '' autour de *.avi ne sont pas nécessaires, par contre il fallait évidemment mettre le \; donc ma commande était juste
Si, ils sont nécessaires, car sinon, si tu as un fichier avi dans le répertoire courant ($PWD) quand tu exécutes la commande, le * sera expansé.
Si tu n'as pas de fichier .avi dans le répertoire courant, ça reviendra au même...
Pas faux, bon elle était presque bonne ^^
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#16 Le 08/08/2013, à 23:42
- Exabra
Re : [Résolu]Commande copier-coller
Mais es ce que vous pourriez faire avec un autre exemple parce que pour moi je ne sais pas par quoi remplacer ....
Hors ligne
Pages : 1