|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
Bonjour,
Je voudrais savoir quelle commande me permet de déplacer des fichiers dans un autre répertoire. Je dis bien des fichiers. Par exemple, si dans le répertoire A j'ai des répertoires B et C et des fichiers a, b et c je veux déplacer les fichiers a, b et c (sans toucher aux répertoires B et C) dans un autre répertoire en une seule commande. Sous Fedora c'est la commande mv -S A/* Rep_destination qui fait l'affaire. Mais sous Ubuntu cette commande n'a pas fonctionné. Est-ce que vous savez comment faire ? |
|
|
00
|
|
|
#2 |
![]() ![]() Formateur en informatique Inscription : novembre 2007 Messages : 2 312 ![]() |
Bonjour,
As-tu essayé avec la commande cp? Bonne journée, Duf
__________________
Modérateur MATLAB Au boulot : Windows 7 , MATLAB 7.12 (r2011a) A la maison : ArchLinux
|
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Ingénieur informatique industrielle Inscription : avril 2006 Messages : 381 ![]() |
il y peut-être une différence de version de mv entre les deux distros ou un alias qui traine,
que donnent : et ? c'est un peu tordu mais tu peux faire un : Code :
find A -type f -maxdepth 1 -exec mv {} Rep_destination \; |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
A duf42 : En fait, je veux couper et coller en une seule commande.
A cboudy : Je n'ai pas Ubuntu sur mon pc mais je vais essayer ta proposition le plus tôt possible. Merci ! |
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() ![]() |
Bonjour
si tu veux faire couper coller, il faut que tu changes la commande cp par mv et je te conseille de mettre des guillemets entre les accolades si jamais il y'a des espaces dans tes noms de fichiers Code :
find A -type f -maxdepth 1 -exec mv "{}" \;
__________________
Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants. Slackware for the Subgenius ! http://blog.paissad.net |
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
A quoi servent les accolades dans cette commande ?
Est-ce que les options de cette commande sont spécifiques à Ubuntu ou bien à toutes les distributions ? |
|
|
00
|
|
|
#7 | ||
![]() ![]() Idriss NeumannDéveloppeur en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 703 ![]() |
Bonsoir.
Tu peut faire un script Bash que tu copie dans ~/bin par exemple. Il suffit de récupérer la sortie de la commande ls et de vérifier s'il s'agit d'un fichier texte (ou vérifier qu'il ne s'agit pas d'un répertoire). Un petit exemple rapide : Code :
Dernière modification par ok.Idriss ; 23/11/2009 à 18h51. Motif: correction script |
||
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
C'est intéressant merci. Mais je cherche une commande sans rentrer dans un script.
|
|
|
00
|
|
|
#9 | ||
![]() ![]() Idriss NeumannDéveloppeur en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 703 ![]() |
Tu peut créer ta propre commande :
1) Tu écris ce script : Code :
3) mv NomDuScript ~/bin. Pour que ce script soit acessible à toutes session ... déplace dans /usr/bin plutôt que ~/bin. 4) Tu peut ensuite l'utiliser comme ceci : Code :
[ ~] NomDuScript /home/toi/rep1 /home/toi/rep2 |
||
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
Merci
|
|
|
00
|
|
|
#11 |
![]() ![]() Idriss NeumannDéveloppeur en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 703 ![]() |
De rien
|
|
|
00
|
|
|
#12 | |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
Citation:
|
|
|
|
00
|
|
|
#13 | ||
|
Membre expérimenté
![]() Ingénieur informatique industrielle Inscription : avril 2006 Messages : 381 ![]() |
les options de find sont standard
les accolades servent à identifier ou est placé chaque fichier trouvé par find dans la commande identifiée par exec (c.a.d. mv "{}" Rep_destination) le \; identifie la fin de la commande exec en gros pour chaque fichier a, b, c, exec fera : Code :
-maxdepth 1 signifie qu'on se limite à une profondeur de 1 lors du parcours des sous-répertoires |
||
|
|
00
|
|
|
#14 | |
|
Membre éprouvé
![]() ![]() |
Citation:
Si tu fais tu n'auras pas d'erreur car mv voit le fichier 50 Cent.mp3 à cause des accolades qui conservent l'espace t'aurais pû faire aussi mais bon cette dernière commande est moins appropriée pour find Cordialement
__________________
Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants. Slackware for the Subgenius ! http://blog.paissad.net |
|
|
00
|
|
|
#15 |
![]() ![]() Idriss NeumannDéveloppeur en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 703 ![]() |
Bonsoir.
@ yo_haha : Si c'est le cas (et ça semble l'être), n'oublies pas de mettre en résolu =>
|
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 270 ![]() |
Merci beaucoup les gars !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com