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

Unix Discussion :

suppression de répertoire vide


Sujet :

Unix

  1. #21
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    voici le resultat de la commande , je n'ai plus d'erreur. Mais on a remplacé le rmdir par echo.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    find /TOTO -depth -type d -exec ksh -c "echo : \$0 : \$1 :" {} \;
    : ksh : /TOTO/TITI :
    : ksh : /TOTO/TITI/TATA:

  2. #22
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Il y a deux problèmes.

    1: find aurait dû, à cause de l'option "-depth", afficher les répertoires dans l'ordre inverse de ce que tu as obtenu, c'est à dire /TOTO/TITI/TATA avant /TOTO/TITI.

    2: le shell n'aurait pas du affecter $0 avec le nom de la commande (ici ksh).

    Il est facile de contourner le deuxième car on a le nom du répertoire dans $1, mais le premier problème est plus complexe, si tu as bien mis -depth ...

    Citation Envoyé par HP-UX manual pages
    -depth

    A position-independent term which causes descent of the directory hierarchy to be done so that all entries in a directory are acted on before the directory itself.
    ɹǝsn *sıɹɐlos*

  3. #23
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    comment dois je faire pour contourner mon second probleme alors ?

    Merci

  4. #24
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Il ne sert à rien de contourner le deuxième problème tant que le premier n'est pas réglé.
    ɹǝsn *sıɹɐlos*

  5. #25
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    Voici le résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    find TOTO -depth -type d -exec ksh -c "echo : \$0 : \$1 :" {} \;
    : ksh : TOTO/TITI/TATA :
    : ksh : TOTO/TITI :
    : ksh : TOTO :

    ça parait plus correcte ?

  6. #26
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    ???
    Suivant que le paramètre est TOTO ou /TOTO, l'ordre de sortie est différent ?
    Ou plus simplement avais-tu oublié l'option -depth la première fois ?
    ɹǝsn *sıɹɐlos*

  7. #27
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    en fait comme le répertoire était long, je les renommé et me suis tromper.

  8. #28
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Je ne comprends rien à tes explications.

    L'option "-depth" fonctionne-t-elle oui ou non toujours correctement avec le find d'HP-UX ?
    ɹǝsn *sıɹɐlos*

  9. #29
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    oui, l'option -depth fonctionne.

    Mais mon but initial est d'afficher les sous répertoires qui vont être supprimer par la commande et ensuite les supprimer ou inversement.

    Voici le résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    find TOTO -depth -type d -exec ksh -c "echo : \$0 : \$1 :" {} \;
    : ksh : TOTO/TITI/TATA :
    : ksh : TOTO/TITI :
    : ksh : TOTO :

  10. #30
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Cette commande efface tous les répertoires vides et affiche leurs noms au fur et à mesure de leur suppression.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /chemin -depth -type d -exec ksh -c "rmdir \$1 && echo \$1 supprimé" {} \; 2>/dev/null
    Recopie le tout jusqu'à la fin de la commande (/dev/null) et sans oublier de caractères ...
    ɹǝsn *sıɹɐlos*

  11. #31
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    Merci , c'est bon

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/03/2015, 09h09
  2. Suppression des champs vides
    Par Flavien44 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 26/06/2007, 17h37
  3. rechercher un répertoire vide
    Par palcoquoz dans le forum Scripts/Batch
    Réponses: 12
    Dernier message: 15/06/2007, 16h04
  4. Traitement des lignes [suppression des lignes vides]
    Par turbo_chess dans le forum Linux
    Réponses: 4
    Dernier message: 22/03/2007, 09h16
  5. Tâche FTP de Ant : répertoire vide
    Par sc_wizard29 dans le forum ANT
    Réponses: 1
    Dernier message: 24/09/2006, 17h38

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