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 :

Lister tous les sous-dossiers d'un répertoire


Sujet :

Shell et commandes GNU

  1. #1
    Invité
    Invité(e)
    Par défaut Lister tous les sous-dossiers d'un répertoire
    Bonjour,

    Je suis débutant en bash et j'aimerai pourvoir lister tous les sous-dossier d'un dossier courant mais e ne veux récupérer que les les derniers dossiers
    c'est à dire ceux dans lesquel il n'y a pas de répertoire

    J'ai essayer
    "find . -d -type d"

    Il me retourne la liste de tous les répertoire mais je ne souhaite pas avoir les "./" devant les noms des répertoires et il me retourne tous les dossiers "intermédiaire" qui contiennent d'autre répertoire

    J'ai un debut d episte avec le code suivant
    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
     
    #!/bin/bash
    function afficheSousDossier
    {
    parent=$1
    for inode in $(ls -R $parent)
       do
          if
    	[ -d $inode ]
          then
             echo $inode
          fi
       done
     
    }
     
     
    for inode in $(ls -R)
       do
          if
    	[ -d $inode ]
          then
             echo $inode
             afficheSousDossier $inode
          fi
       done
    MAis le problème c'est que le "ls" me retourne "lenomdossier:" avec ce ":"à la fin que je n'arrive pas à enlever!

    C'est super complexe et spécifique

    Merci a ceux qui m'aideront

    :p

  2. #2
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find   -type d -links 2 | awk '{ gsub("^./","") ; print }'

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci

    Sa marche nickel

    Je l'ai tuné pour me fournir les dossiers ayant un nom particulier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find   -type d -links 2 | awk '{ gsub("^./","") ; print }'|grep -E "(.pkg)|(.sce)"

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 578
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 578
    Points : 19 439
    Points
    19 439
    Par défaut
    Bonjour,

    pas besoin de grep
    find peut faire ce travail de sélection en fonction du nom, ou d'une regex.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 16
    Points : 26
    Points
    26
    Par défaut merci si possible d'un complément d'explications
    je lis cette réponse avec intérêt, mais je suis preneur d'une explication complémentaire
    pourquoi l'option "-links 2" de find permet elle de faire exactement le filtre demandé ?
    OU
    est ce qu'il pourrait y avoir des dossiers ayant 2 liens qui ne répondraient pas au critère demandé ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/01/2011, 15h31
  2. [XL-2000] recherche dans tous les sous-dossiers
    Par zandru dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/01/2010, 10h32
  3. [Graphe] Lister tous les sous ensembles
    Par Deallyra dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 08/10/2009, 15h13
  4. Réponses: 3
    Dernier message: 29/07/2009, 15h16
  5. Liste de fichiers dans tous les sous dossiers
    Par TaleMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/12/2008, 18h29

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