Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/06/2013, à 19:14

L0rd3Cook

[Résolu] : Déplaser des fichiers

Bonjour

Voila j'ai un dossier qui contient plus de 10 autre dossier et chacun deux contient d'autre dossier.

c'est dossier contiens tous des fichier en .jpeg
le but est de déplacé toute les fichiers *.jpg sans devoir  spécifier toute arborescence qui serai fastidieux. et les mètre dans un dossier sans arborescence.

je vous remercie d’avance.

Dernière modification par L0rd3Cook (Le 10/06/2013, à 17:41)

Hors ligne

#2 Le 09/06/2013, à 19:29

nesthib

Re : [Résolu] : Déplaser des fichiers

Le code suivant (bash) trouve toutes les fichiers *.jpg dans l'arborescence de dossier1 et les déplace dans dossier2. En cas de fichiers avec le même nom il sera demandé si tu veux écraser le fichier.
Le echo ligne 3 est à enlever pour réellement effectuer le déplacement, tel qu'écrit ci dessous ce morceau de code ne fera qu'afficher la ligne de commande qui serait lancée sans le echo.

while read file
do
  echo mv -i "$file" "dossier2/${file##*/}"
done < <(find dossier1 -iname '*.jpg')

Dernière modification par nesthib (Le 09/06/2013, à 21:13)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 09/06/2013, à 19:47

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

Bonjour nesthib

Si je comprend bien je doit le terminal et taper :

mv -i $/home/lordcook/website/test/ /home/lordcook/Bureau/Images/${file##*/}" 

Dernière modification par L0rd3Cook (Le 09/06/2013, à 19:49)

Hors ligne

#4 Le 09/06/2013, à 20:21

pingouinux

Re : [Résolu] : Déplaser des fichiers

@nesthib #2 : Pour info, il y a une petite erreur dans la dernière ligne (c'est dossier1 et non dossier2)

Hors ligne

#5 Le 09/06/2013, à 21:13

nesthib

Re : [Résolu] : Déplaser des fichiers

@pingouinux : Oui bien sûr, j'ai corrigé.

L0rd3Cook a écrit :
mv -i $/home/lordcook/website/test/ /home/lordcook/Bureau/Images/${file##*/}" 

Tu peux soir lancer les lignes retournées par ma commande, soit enlever le « echo » et la relancer. Si tu n'est pas sûr de toi, utilise cp à la place de mv ou fais une sauvegarde préalable de ton dossier.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 09/06/2013, à 21:59

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

Bonjour

Il faudrait être plus clair car j'ai fait un copier coller de ce que tu as mi et sa ne marche pas.
pour ce faire je te donne plus de détail

Sur mon Bureau se trouve un dossier nommée : Images
dans mon répertoire personnel : home/lordcook il y as un dossier nommée : websites.

donc cela donne ceci: /home/lordcook/websites.

toute les ficher avec comme extension .jpeg qui se trouve dans dans les différends dossier du dossier websites

Doivent allez dans le dossier appeler Images sur le bureau: /home/lordcook/Bureau/Images.

pourrait tu adapter le code à mon arborescence.
merci d'avence

Hors ligne

#7 Le 09/06/2013, à 22:21

nesthib

Re : [Résolu] : Déplaser des fichiers

Peux-tu donner le retour de ma première commande (avec le echo) ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#8 Le 09/06/2013, à 22:40

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

voici

lordcook@Vira-88:~$ mv -i "$file" "dossier2/${file##*/}"
mv: impossible d'évaluer «»: Aucun fichier ou dossier de ce type
lordcook@Vira-88:~$ 

Hors ligne

#9 Le 09/06/2013, à 22:43

nesthib

Re : [Résolu] : Déplaser des fichiers

non, le retour de la commande complète :

while read file
do
  echo mv -i "$file" "dossier2/${file##*/}"
done < <(find dossier1 -iname '*.jpg')

ou, en une ligne :

while read file ; do  echo mv -i "$file" "dossier2/${file##*/}" ; done < <(find dossier1 -iname '*.jpg')

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#10 Le 09/06/2013, à 23:22

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

Voici plusieurs teste varier: je tape sa directement dans le terminal.

lordcook@Vira-88:~$ while read file ; do  echo mv -i "$file" "dossier2/${file##*/}" ; done < <(find dossier1 -iname '*.jpg')
find: "dossier1": Aucun fichier ou dossier de ce type
lordcook@Vira-88:~$ 
lordcook@Vira-88:~$ lordcook@Vira-88:~$ while read file ; do  mv -i "$file" "dossier2/${file##*/}" ; done < <(find dossier1 -iname '*.jpg')
bash: Erreur de syntaxe près du symbole inattendu « do »
lordcook@Vira-88:~$ 
lordcook@Vira-88:~$ mv -i "$file" "dossier2/${file##*/}" ; done < <(find dossier1 -iname '*.jpg')
bash: Erreur de syntaxe près du symbole inattendu « done »
lordcook@Vira-88:~$ 

Hors ligne

#11 Le 09/06/2013, à 23:59

nesthib

Re : [Résolu] : Déplaser des fichiers

Essaie d'être un peu attentif à ce que tu fais. Tu dois bien évidemment remplacer « dossier1 » par le nom du dossier contenant tes images. De ce que je comprends il s'agit de /home/lordcook/website/test/ ou /home/lordcook/Bureau/Images/


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#12 Le 10/06/2013, à 00:15

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

Un tous grand merci, grasse à toi je viens de rajouté 1884 images à mes 1200 images que j'ai fait manuellement ^^

Voila une des raisons pour la quelle j'ai divorcer de windows lol

Dernière modification par L0rd3Cook (Le 10/06/2013, à 00:36)

Hors ligne

#13 Le 10/06/2013, à 04:27

nesthib

Re : [Résolu] : Déplaser des fichiers

Pour être objectif, il est aussi possible de faire ça avec windows wink
Mais il est vrai que c'est tout à fait la philosophie de linux d'utiliser la ligne de commande et d'automatiser les tâches.

Tu peux modifier ton premier message et ajouter [résolu] au début du titre smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#14 Le 10/06/2013, à 11:06

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

Bonjour,

Je voudrai toute de même avent de dire que c'est résolu bien que c'est le cas, tu pourrait  traduire en langage courent le scriptes, copier coller c'est bien facile mai je n'est rien compris à la commende et j'aime bien comprendre .

Hors ligne

#15 Le 10/06/2013, à 14:18

tiramiseb

Re : [Résolu] : Déplaser des fichiers

Salut,

J'arrive un peu après la bataille, mais je souhaitais simplement indiquer cette méthode, plus simple :

find <répertoire contenant tous les fichiers dans des sous-répertoires> -iname "*.jpg" -exec mv {} <répertoire destination> \;

Ce qui aurait donné, dans ton cas :

find /home/lordcook/websites -iname "*.jpg" -exec mv {} /home/lordcook/Bureau/Images/ \;

Étonnant d'ailleurs que nesthib ait proposé une boucle while, j'ai cru comprendre qu'il est plutôt bon dans ce domaine... Personne n'est à l'abri d'un manquement quant à la recherche de la solution la plus efficace lol

Hors ligne

#16 Le 10/06/2013, à 17:10

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

Je trouve tous sa fascinent, comme je début sous GNU/Linux je cherche de la bonne documentation en pdf très bien expliquer, personnellement il y a que le terminal qui m'intéresse il y a bien sûr le man  mais pour un novice de 3 semaine rien ne veux un bon livre pdf qui explique quasi tous.

Hors ligne

#17 Le 10/06/2013, à 17:11

tiramiseb

Re : [Résolu] : Déplaser des fichiers

rien ne veux un bon livre pdf

Je dirais plutôt :
rien ne vaut un bon livre papier.

smile

Hors ligne

#18 Le 10/06/2013, à 17:33

L0rd3Cook

Re : [Résolu] : Déplaser des fichiers

A tu un livre éditeur en particulier qui parle uniquement du mode terminal. j'ai des livre mais il ne parlent que du mode graphique

Dernière modification par L0rd3Cook (Le 10/06/2013, à 17:36)

Hors ligne

#19 Le 10/06/2013, à 17:46

nesthib

Re : [Résolu] : Déplaser des fichiers

@tiramiseb : ne t'inquiète pas je n'oublie pas find -exec, je voulais juste profiter de la substitution de variable de bash au cas où il y ait un peu plus d'opérations à lancer wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne