#1 Le 21/02/2010, à 17:31
- xyzers
Copie le contenu d'un répertoire et sous rép sans les sous rép
Bonjour à tous,
Je suis à la recherche d'une commande ou script pour copier des fichiers qui sont dans des sous répertoire vers 1 seul répertoire de destination ex :
Repertoire_Source/Rep1/fichier1.txt
Repertoire_Source/Rep1/fichier2.txt
Repertoire_Source/Rep2/fichier3.txt
Repertoire_Source/Rep2/fichier4.txt
resultat de la copie :
Repertoire_destination/fichier1.txt
Repertoire_destination/fichier2.txt
Repertoire_destination/fichier3.txt
Repertoire_destination/fichier4.txt
Bien sur les noms des sous répertoires sont variables, ainsi que les noms des fichiers.
Donc nesthib, m'a répondu (dans un autre poste) :
find Repertoire_Source/ -name "*.txt" -exec cp "{}" Repertoire_destination/ \;
Ce code marche mais si, je refait et si le fichier existe dans le repertoire destination, il ne faut pas le recopier. je ne sais comment faire ?
Dernière modification par xyzers (Le 21/02/2010, à 17:37)
Hors ligne
#2 Le 21/02/2010, à 18:02
- Plonk
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
Bonjour, tu dois pouvoir faire un petit script avec test.
NAME
test - check file types and compare values
[...]
-e FILE FILE exists
Dernière modification par Plonk (Le 21/02/2010, à 18:03)
#3 Le 22/02/2010, à 01:33
- AnsuzPeorth
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
Bjr,
Un truc du genre (pas testé)
find Repertoire_Source/ -name "*.txt" | while read ligne
do
[ -e "/Repertoire_destination/${ligne##*/}" ] && continue
cp "$ligne" /Repertoire_destination/
done
Si le fichier existe dans Repertoire_destination, il ne sera pas copié.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#4 Le 22/02/2010, à 10:48
- Hizoka
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
while read ligne
do
[ -e "/Repertoire_destination/${ligne##*/}" ] && continue
cp "$ligne" /Repertoire_destination/
done < <(find Repertoire_Source/ -name "*.txt")
même code que ansuz mais sans le pipe
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 22/02/2010, à 19:07
- sputnick
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
find ./Repertoire_Source -iname '*.txt' -type f -print0 | xargs -I% -0 cp --no-clobber % Repertoire_destination
Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver. Jacques Prévert
https://sputnick.fr
Hors ligne
#6 Le 23/02/2010, à 18:47
- xyzers
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
Pour commencer merci pour les différentes méthodes que vous me proposez.
Et désolé de ce retour tardif de ma part, mais je rencontre un souci, et pour moi c'est un autre ordre à mon avis.
Je m'explique, pour commencer j'ai utilisé cette méthode :
while read ligne
do
[ -e "/Repertoire_destination/${ligne##*/}" ] && continue
cp "$ligne" /Repertoire_destination/
done < <(find Repertoire_Source/ -name "*.txt")
que j'ai adapté à mes besoins :
#!/bin/sh
while read ligne
do
[ -e "/media/FreenasPartage/Divx/Anime/${ligne##*/}" ] && continue
cp "$ligne" /media/FreenasPartage/Divx/Anime/
done < <(find /media/donnees/Documents/downloads/complete/Anime/ -name "*.avi")
De plus petit détail mon répertoire source, c'est un disque partagé sur un NAS sur FreeNas et je ne crois pas que cela influe sur mon problème (je peu me tromper).
De plus je suis sur Xubuntu 9.10 AMD64.
Mon souci est que la copie se passe bien pour le 1er fichier mais ensuite cela "bloque" en cours pour la copie suivante. Et mon Xubuntu devient très long (lenteur de rafraichissement de Firefox et de Nautilus notamment ). J'ai eu aussi hier soir un problème du même ordre en faisant un transfert ftp vers ma freebox HD, c'est a dire le 1er fichier transfert ok, mais le suivant c'est arrêté à 40 Mo au lieu de 700mo.
Je ne sais quoi faire ? Et je ne vois pas d'où viens le problème...
Dernière modification par xyzers (Le 23/02/2010, à 18:50)
Hors ligne
#7 Le 23/02/2010, à 21:03
- Hizoka
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
essaie la solution de sputnik, tu peux lui faire confiance les yeux fermes !
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#8 Le 23/02/2010, à 21:31
- xyzers
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
J'avance un peu.
Avant pour constater l'état d'avancement de ma copie j'ouvrais Thunar et/ou Nautilus. maintenant j'ai refait ma copie mais en lançant mon script (Anime.sh) comme ci-dessous :
/bin/bash -x -v Anime.sh
Et je n'est plus de problème...Bizarre...
essaie la solution de sputnik, tu peux lui faire confiance les yeux fermes !
Ou puis-je trouver plus info sur sputnik ?
Hors ligne
#9 Le 23/02/2010, à 22:09
- Hizoka
Re : Copie le contenu d'un répertoire et sous rép sans les sous rép
Sptunik est le nom d'une personne ici
regarde le post #5
un simple bash -x -v Anime.sh suffit (c'est pourquoi faire le -x ?)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne