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 uniquement les fichiers d'un répertoire sous shell


Sujet :

Shell et commandes GNU

  1. #1
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut Lister uniquement les fichiers d'un répertoire sous shell
    bonjour,
    je veux en fait lister uniquement les fichiers d'un reperdoire(pas d'affichage pour les sous repertoires)avec la programmation shell
    pour lister on utilise bien ls...mais en fait je sais pas comment recuperer le resultat de cette commande pour n'afficher que les fichiers concernées
    cordialement ,

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Points : 56
    Points
    56
    Par défaut
    essaie ceci et dis moi si cela correspond

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ls|while read line; do
    if [ -f $line ]
    then
    echo $line
    fi
    done

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Points : 56
    Points
    56
    Par défaut
    ok je m'incline si bien sur il souhaite aussi récupérer les fichiers présents dans les sou-répertoires (je n'avais pas forcément compris ceci).

    bien joué

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    A quoi sert l'option "-prune" dans ce cas là, alors que "find . -type f" répond exactement à la question ?

  6. #6
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Intéressant, et si on veut pas récupérer les fichiers récursivement, simplement celui du dossier courant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find . -maxdepth 1 -type f -prune
    Citation Envoyé par gangsoleil Voir le message
    A quoi sert l'option "-prune" (...)
    J'ai l'impression qu'elle sert a finir la liste des arguments
    dixit man find :
    "If the expression contains no actions other than -prune, -print is performed on all files for which the expression is true."

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Points : 56
    Points
    56
    Par défaut
    Je pense aussi que si l'on ne met pas d'autres arguments avec -prune, cela revient au même de faire seulement find . -type f. -prune permet en effet de ne pas récupérer les fichiers des sous-dossiers mais, comme tu l'as si bien écrit SnakemaN, il faut rajouter l'argument -maxdepth

  8. #8
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Bonjour,

    A quoi sert l'option "-prune" dans ce cas là, alors que "find . -type f" répond exactement à la question ?
    oui en effet...l'habitude....

  9. #9
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par panach91 Voir le message
    essaie ceci et dis moi si cela correspond

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ls|while read line; do
    if [ -f $line ]
    then
    echo $line
    fi
    done
    oui oui ça a marché à merveille!!

  10. #10
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    oui oui ça a marché à merveille!!
    Et nous on pue le paté ?

  11. #11
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par SnakemaN Voir le message
    Et nous on pue le paté ?
    HS: Desolé mais sincerement j ai pas compris ce que vous voulez dire

  12. #12
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    HS: Desolé mais sincerement j ai pas compris ce que vous voulez dire
    je parlais des lignes de commandes qu'on vous a proposé frp31 et moi ainsi que d'autres, je pensais que vous aviez lu tout le topic...

    Répertoire courant et sous-répertoire (recursif)
    Citation Envoyé par frp31
    find . -type f
    Répertoire courant uniquement (non-recursif)
    Citation Envoyé par moi
    find . -maxdepth 1 -type f

  13. #13
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par SnakemaN Voir le message
    je parlais des lignes de commandes qu'on vous a proposé frp31 et moi ainsi que d'autres, je pensais que vous aviez lu tout le topic...
    noooo c est absolument pas ça c est juste parce que vous avez citez des commandes dont je connais pas .. je suis en train de vous lire pour pouvoir comprendre de quoi il s'agit

  14. #14
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Hihi pas de soucis, je vous/tu taquine , bah l'explication est simple :

    find : commande de recherche

    . : dans le repertoire courant

    -type f : option type, ne chercher qu'un type de donnée ici f , les fichiers

    et comme find est récursif par défaut, je rajoute

    -maxdepth 1 : profondeur maximale d'exploration, 1 c'est à dire le répertoire courant

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par SnakemaN Voir le message
    Intéressant, et si on veut pas récupérer les fichiers récursivement, simplement celui du dossier courant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find . -maxdepth 1 -type f -prune

    J'ai l'impression qu'elle sert a finir la liste des arguments
    dixit man find :
    "If the expression contains no actions other than -prune, -print is performed on all files for which the expression is true."
    Bonjour, j'aimerais savoir comment tu ferais pour n'afficher que les fichier (sans les liens et dossiers) sans couleur et en minuscule. Merci d'avance

    PS : Si quelqu'un d'autre a la réponse, je l'accepte avec plaisir ^^

Discussions similaires

  1. Lister récursivement les fichiers d'un répertoire
    Par petdelascar dans le forum Shell et commandes GNU
    Réponses: 22
    Dernier message: 31/07/2020, 14h50
  2. Réponses: 5
    Dernier message: 05/10/2016, 19h40
  3. Comment afficher uniquement les fichiers d'un répertoire
    Par choucs dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 29/08/2013, 16h31
  4. Script Shell : lister tous les fichiers d'un répertoire et sous rép
    Par raton_laveur dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 22/01/2009, 17h43

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