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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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
    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 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 653
    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
    Membre averti
    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
    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