Menu

Déplacer des fichiers et sous répertories en masse [Résolu/Fermé]

Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
-
Bonjour,

Comment pourrais je faire simple pour déplacer des fichiers et sous répertoires pour une liste de répertoires.
Je m'explique.

J'ai plusieurs dizaines de répertoires qui se nomment :
1
9
22
151
2015
5698
30

Je voudrais déplacer tous les fichiers et sous répertoires qui sont dans ces derniers et uniquement pour cel (liste de repertoires))vers un autre dossier.

Comment faire cela? Peut être via FIND, AWK,etc..

Merci pour votre aide.



L'accès au savoir est la première liberté que chaque homme devrait avoir.
Afficher la suite 

4 réponses

Messages postés
36636
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
22 juillet 2019
3724
0
Merci
Salut,

Il faudrait être plus précis dans ta demande ;-\

Faut-il déplacer QUE le contenu desdits dossiers ou bien lesdits dossiers eux-mêmes ?

Pour le dossier 151 par exemple, il faut déplacer que son contenu ou directement le dossier ?

Petit exemple pour étayer ma demande :

Le contenu de mon répertoire :
$ tree
.
|-- 151
| |-- a
| |-- b
| |-- c
| `-- d
| |-- e
| |-- f
| `-- g
`-- rep

9 directories, 0 files


On déplace le dossier et son contenu :
$ mv -v 151 rep/
«151» -> «rep/151»


Vérification :
$ tree
.
`-- rep
`-- 151
|-- a
|-- b
|-- c
`-- d
|-- e
|-- f
`-- g

9 directories, 0 files


On recrée le dossier et son contenu :
$ mkdir -p 151/{a,b,c,d/{e,f,g}}

$ tree
.
|-- 151
| |-- a
| |-- b
| |-- c
| `-- d
| |-- e
| |-- f
| `-- g
`-- rep
`-- 151
|-- a
|-- b
|-- c
`-- d
|-- e
|-- f
`-- g

17 directories, 0 files


On ne déplace que le contenu du dossier :
$ mv -v 151/* rep/
«151/a» -> «rep/a»
«151/b» -> «rep/b»
«151/c» -> «rep/c»
«151/d» -> «rep/d»

$ tree
.
|-- 151
`-- rep
|-- 151
| |-- a
| |-- b
| |-- c
| `-- d
| |-- e
| |-- f
| `-- g
|-- a
|-- b
|-- c
`-- d
|-- e
|-- f
`-- g

17 directories, 0 files


Messages postés
17776
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 juillet 2019
4391
0
Merci
hello
$ for d in $(cat liste); do echo mv $d/* /dest; done
mv 1/* /dest
mv 9/* /dest
mv 22/* /dest
mv 151/* /dest
mv 2015/* /dest
mv 5698/* /dest
mv 30/* /dest

enever le echo si c'est ok
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
Merci a vous deux.

Alors pour répondre a ta question zipe31 il faut que je déplace les fichiers et pour les sous dossier il faut déplacer tous le dossier .


L'accès au savoir est la première liberté que chaque homme devrait avoir.
zipe31
Messages postés
36636
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
22 juillet 2019
3724 -
Ça ne répond toujours pas à mes attentes ;-\

Dans cet exemple :
$ tree
.
`-- 151
|-- a
|-- b
| `-- fich
|-- c
`-- d
|-- e
|-- f
| `-- fich
`-- g

Que faudrait-il déplacer exactement ?
151 avec tout ce qu'il contient ?
Ou uniquement son contenu ?
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
Salut zipe31,

désolé je repond tardivement!

Il fallait que je déplace 151 et otu ce qu'il y a dedans.

Mais c'est résolu.

Merci