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 GNU Discussion :

Rechercher dans une arborescence les dossiers "finaux"


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 132
    Points : 182
    Points
    182
    Par défaut Rechercher dans une arborescence les dossiers "finaux"
    Bonjour,

    Je souhaite récupérer que les dossiers finaux à partir d'un dossier.
    Exemple :
    Arborescence du dossier dos0:
    dos1-dosA
    -dosB-dosB1
    -dosB2-dosB2A

    dos2-dosA-dosA1
    -dosB

    comment ne récupérer que :
    dos1-dosA
    dos1-dosB-dosB1
    dos1-dosB-dosB2-dosB2A
    dos2-dosA-dosA1
    dos2-dosB

    J'ai essayé via un find . * et via un ls -R mais sa me retourne les dossiers intermédiaires.

    Merci d'avance.

    Laurent.

  2. #2
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /chemin/dos0 -type d -print
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 132
    Points : 182
    Points
    182
    Par défaut
    Merci pour ta réponse,
    mais cela n'affiche que les répertoires intermédiaires comme :
    dos1
    dos1-dosB

    Je souhaite avoir les répertoires dans lesquels il n'y a plus de repertoire mais juste des fichiers.

  4. #4
    Membre habitué Avatar de Levi59
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 58
    Points : 148
    Points
    148
    Par défaut
    C'est un peu long mais ça devrait marcher (ça ne copie que les dossiers ne contenant que des fichiers et qui ne sont pas vides) :
    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
    #!/bin/bash
     
    DossierDest="$PWD"
     
    function __EstUnDossier() {
        local NbrDir=0
        local Element
        for Element in *
        do
            [[ -d $Element ]] && {
                ((NbrDir++))
                (cd $Element; __EstUnDossier)            
            }
        done
        [[ $NbrDir -eq 0 && -n $(ls -A .) ]] && cp -R "$PWD" "$DossierDest/${PWD##*/}"
    }
     
    __EstUnDossier
    Carpe Diem

Discussions similaires

  1. Problème lecture fichier dans une arborescence de dossiers
    Par africanwinners dans le forum Langage
    Réponses: 5
    Dernier message: 05/12/2014, 12h59
  2. Performance - Recherche dans une arborescence rapidement.
    Par BobbyWeb dans le forum Zend Framework
    Réponses: 3
    Dernier message: 07/04/2011, 15h56
  3. Réponses: 26
    Dernier message: 26/03/2010, 15h24
  4. Récursivité dans une arborescence de dossiers...
    Par thony23 dans le forum Langage
    Réponses: 5
    Dernier message: 26/10/2005, 16h14

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