Déplacer des fichiers et sous répertories en masse

Résolu
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   -  
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

4 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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


0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
0
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   23
 
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.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Ç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 ?
0
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   23
 
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
0