IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

rm sur dossiers et sous dossiers


Sujet :

Shell et commandes POSIX

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable Prépresse
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Prépresse
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Points : 21
    Points
    21
    Par défaut rm sur dossiers et sous dossiers
    Bonjour,

    qui peut m'expliquer pourquoi la commande ci-dessous ne permet pas de supprimer tous les fichiers commençant par "BAT" et se terminant par ".jpg" dans tous les sous-dossiers de "AGENCE A JETER" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rm "/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER"*"/BAT"*".jpg"
    Ne sont supprimés que ceux du premier niveau.

    Est ce que c'est au moins possible d'utiliser rm sur l'intégralité un volume ?

    --------------
    OS 10.8.5

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    c est dangereux et pas la bonne methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER/ -type f -name "BAT*JPG"  -exec rm -i {} \;

    ira mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    francois@baal:~$ mkdir -p /tmp/Users/imaci7_1/Desktop/"POUR TESTS AS UNIX"/"AGENCE A JETER"{1,2,3}/rep{1,2,3,4}/  
    francois@baal:~$ touch /tmp/Users/imaci7_1/Desktop/"POUR TESTS AS UNIX"/"AGENCE A JETER"{1,2,3}/{1,2,3,4}.JPG  
    francois@baal:~$ touch /tmp/Users/imaci7_1/Desktop/"POUR TESTS AS UNIX"/"AGENCE A JETER"{1,2,3}/a{1,2,3,4}.JPG  
    francois@baal:~$
    francois@baal:~$ ls -lrtR /tmp/Users/imaci7_1/Desktop/"POUR TESTS AS UNIX"/
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/:
    total 12
    drwxr-xr-x 6 francois francois 4096 févr. 19 12:46 AGENCE A JETER3
    drwxr-xr-x 6 francois francois 4096 févr. 19 12:46 AGENCE A JETER2
    drwxr-xr-x 6 francois francois 4096 févr. 19 12:46 AGENCE A JETER1
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3:
    total 16
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep4
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep3
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep2
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep1
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 4.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 3.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 2.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 1.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a4.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a3.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a2.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a1.JPG
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/rep4:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/rep3:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/rep2:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/rep1:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2:
    total 16
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep2
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep1
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep4
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep3
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 4.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 3.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 2.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 1.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a4.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a3.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a2.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a1.JPG
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/rep2:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/rep1:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/rep4:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/rep3:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1:
    total 16
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep4
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep3
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep2
    drwxr-xr-x 2 francois francois 4096 févr. 19 12:46 rep1
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 4.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 3.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 2.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 1.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a1.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a4.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a3.JPG
    -rw-r--r-- 1 francois francois    0 févr. 19 12:46 a2.JPG
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/rep4:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/rep3:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/rep2:
    total 0
     
    /tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/rep1:
    total 0
    donc la tu es sur de ne pas faire de conneries et a la fois de parcourir toute la sous arbo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    francois@baal:~$ find /tmp/Users/imaci7_1/Desktop/POUR\ TESTS\ AS\ UNIX/ -type f -name "*JPG" -exec rm -i {} \;  
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/2.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/a1.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/a2.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/a3.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/4.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/3.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/1.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER2/a4.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/2.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/a1.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/a2.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/a3.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/4.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/3.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/1.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER1/a4.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/2.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/a1.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/a2.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/a3.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/4.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/3.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/1.JPG*»*? y
    rm*: supprimer fichier vide «*/tmp/Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER3/a4.JPG*»*? y
    francois@baal:~$

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable Prépresse
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Prépresse
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Merci de ta réponse rapide.

    En utlisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /Users/imaci7_1/Desktop/POUR TESTS AS UNIX/AGENCE A JETER/ -type f -name "BAT*JPG"  -exec rm -i {} \;
    voilà ce qui se passe :
    Nom : Capture d’écran 2016-02-19 à 14.38.36.png
Affichages : 287
Taille : 80,3 Ko

    Par contre, en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /Users/imaci7_1/Desktop/POUR\ TESTS\ AS\ UNIX/AGENCE\ A\ JETER -name "*BAT*.jpg" -exec rm -i {} \;
    je me vois bien proposer de supprimer ou pas les fichiers un par un. Je m'embrouille toujours avec les méta caractères et la façon de les utiliser selon la commande.


    Je comprends la 1re partie de ton code, mais peux tu m'en dire plus (ou un lien explicatif) sur cette partie :

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonjour

    Pour la première question, il ne faut pas d'espaces.
    Donc soit tu les échappes les espaces par une contre-oblique (c'est ce que tu as fait en deuxième intention)
    Soit tu protèges le dossier par des 'quotes' ou "doubles quotes".

    Pour la deuxième question, {} symbolise le fichier en cours de traitement et \; termine la commande à exécuter sur le fichier en cours de traitement.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Responsable Prépresse
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Prépresse
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Ce que je peux traduire par :
    exécute la commande rm avec l'option -i sur le fichier en cours de traitement

    Merci à tous les deux. Bon week end.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/10/2014, 23h08
  2. Réponses: 2
    Dernier message: 27/10/2011, 19h31
  3. WS 2003 droits sur un dossier et sous dossier
    Par mac7474 dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 06/05/2011, 12h07
  4. [C#] Prendre des droits sur des dossiers et sous dossiers
    Par raf_unl dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/03/2007, 13h44
  5. Réponses: 4
    Dernier message: 25/04/2006, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo