Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2011, 11h38   #1
Membre du Club
 
Inscription : juin 2004
Messages : 69
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : juin 2004
Messages : 69
Points : 43
Points : 43
Par défaut Création de dossiers dans les sous-dossiers

Bonjour,

Je dois créer un script sh qui doit créer des dossiers dans chaque sous-dossiers. Je m'explique.
J'ai un dossier maindir qui contient plusieurs dossiers ce qui donne:

- maindir
- dir1
- dir2
- dir3
...

et je doit créer un dossier _thumbs dans dir1 dir2 etc...

Or si j'éxecute
Code :
find /maindir/*/  -exec mkdir {}/_thumbs  \;
il me créer un dossier _thumbs dans chaque dossier __thumbs et en chaine à l'infini.

Avez-vous une idée pour résoudre ce probleme

Merci
djaih est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 12h23   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$ tree
.
`-- maindir
    |-- dir1
    |-- dir2
    |-- dir3
    |-- dir4
    |-- dir5
    `-- dir6

7 directories, 0 files

$ find maindir -maxdepth 1 -type d -exec mkdir -p {}/_thumbs \;

$ tree
.
`-- maindir
    |-- _thumbs
    |   `-- _thumbs
    |-- dir1
    |   `-- _thumbs
    |-- dir2
    |   `-- _thumbs
    |-- dir3
    |   `-- _thumbs
    |-- dir4
    |   `-- _thumbs
    |-- dir5
    |   `-- _thumbs
    `-- dir6
        `-- _thumbs

15 directories, 0 files
$
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 12h27   #3
Membre du Club
 
Inscription : juin 2004
Messages : 69
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : juin 2004
Messages : 69
Points : 43
Points : 43
Ca marche merci
djaih est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 12h29   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Oups j'ai fait une boulette

Il faut rajouter '-mindepth 1' pour empêcher que la création d'un répertoire ne s'applique au dossier père.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ find maindir/ -maxdepth 1 -mindepth 1 -type d -exec mkdir -p {}/_thumbs \;

$ tree
.
`-- maindir
    |-- dir1
    |   `-- _thumbs
    |-- dir2
    |   `-- _thumbs
    |-- dir3
    |   `-- _thumbs
    |-- dir4
    |   `-- _thumbs
    |-- dir5
    |   `-- _thumbs
    `-- dir6
        `-- _thumbs

13 directories, 0 files
$
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 26/05/2011, 13h29   #5
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Selon les cas, tu peux peut être uniquement utiliser -name ou -regex

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ tree maindir/
maindir/
|-- dir1
|-- dir2
`-- dir3
 
3 directories, 0 files
$ find maindir/ -type d -name "dir*" -exec mkdir {}/_thumbs \;
$ tree maindir/
maindir/
|-- dir1
|   `-- _thumbs
|-- dir2
|   `-- _thumbs
`-- dir3
    `-- _thumbs
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h43.


 
 
 
 
Partenaires

Hébergement Web