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 :

Afficher sous répertoire 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
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 93
    Par défaut Afficher sous répertoire d'un répertoire
    Bonjour,
    je veux afficher seulement les sous répertoire d'un répertoire qui passe en argument.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [ $# -eq 1 ]
    then
    echo `find $1 -type d`
    fi
    mais le problème il m'affiche aussi le répertoire courant

    et lorsque je veux affiche les fichiers d'un répertoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [ $# -eq 1 ]
    then
    echo `find $1 -type f`
    fi
    il m'afficher aussi les ficher cacher.

    et ce que il y a une autre méthode pour lister les sous répertoire d'un répertoire et les fichiers d'un répertoire ?

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 411
    Par défaut
    Bonjour,

    Pas clair le besoin, il reste des zones d'ombre, comme doit on faire une descente dans les sous répertoire ou pas...

    Dans ton script, les echo au niveau du find sont inutiles

    Sinon, sous linux:

    Pour le cas de seulement afficher les sous répertoires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find $1 -type d -printf "%P\n"
    Pour le cas des fichiers cachés (en gardant le principe des sous répertoires):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find $1 -type f -regex "^$1/[^.].*/[^.][^/]*\|^$1/[^.][^/]*" -printf "%P\n"

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Aymenkn Voir le message
    je veux afficher seulement les sous répertoire d'un répertoire qui passe en argument.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [ $# -eq 1 ]
    then
    echo `find $1 -type d`
    fi
    mais le problème il m'affiche aussi le répertoire courant
    Bonjour
    Rajoute une obligation de profondeur minimale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find $1 -mindepth 1 -type d
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 411
    Par défaut
    Bien vu
    J'avais pas compris la question comme ça...

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 93
    Par défaut
    Bonjour,
    merci à tous
    le question, écrire script shell qui affiche la liste des sous répertoires du répertoire passé en argument sans utiliser commande find.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Sans utiliser le find? Il est possible de le faire avec un ls mais c'est moche et ça ne fera pas les sous-répertoires ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ ls -l test
    total 0
    -rw-r--r--  1 User None 0  2 nov.  19:49 fichier
    drwxr-xr-x+ 1 User None 0  2 nov.  19:46 rep1
    drwxr-xr-x+ 1 User None 0  2 nov.  19:46 rep2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ ls -l test | grep "^d"
    drwxr-xr-x+ 1 User None 0  2 nov.  19:46 rep1
    drwxr-xr-x+ 1 User None 0  2 nov.  19:46 rep2

  7. #7
    Membre Expert
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 581
    Par défaut
    Citation Envoyé par Aymenkn Voir le message
    le question, écrire script shell qui affiche la liste des sous répertoires du répertoire passé en argument sans utiliser commande find.
    Citation Envoyé par ecatomb Voir le message
    Sans utiliser le find? Il est possible de le faire avec un ls mais c'est moche et ça ne fera pas les sous-répertoires ...
    man ls http://man.developpez.com/man1/ls/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -R, --recursive
        afficher récursivement les sous-répertoires
    ou bien, à tester selon le shell :
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

    Liste des balises BB

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 871
    Billets dans le blog
    1
    Par défaut
    @Escapetiger et @ecatomb

    A mon avis, si c'est sans le find alors c'est sans le ls, sans le tree ; bref sans aucune autre commande déjà toute faite. C'est à lui d'écrire l'algo à base de for, de test -d et de fonction récursive...

    Citation Envoyé par Aymenkn Voir le message
    le question, écrire script shell qui affiche la liste des sous répertoires du répertoire passé en argument sans utiliser commande find.
    Alors pourquoi
    1. tu ne l'as pas dit directement
    2. t'as montré un code avec un find

    ???
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/05/2015, 21h06
  2. Réponses: 6
    Dernier message: 25/10/2006, 22h00
  3. Afficher les images d'un répertoire
    Par cyrill.gremaud dans le forum ASP
    Réponses: 17
    Dernier message: 09/02/2006, 13h53
  4. Afficher les images d'un répertoire
    Par jim1 dans le forum Langage
    Réponses: 6
    Dernier message: 31/01/2006, 09h00

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