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 le contenu d'un répertoire simplement


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    unknown
    Inscrit en
    Novembre 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : unknown

    Informations forums :
    Inscription : Novembre 2016
    Messages : 16
    Par défaut Afficher le contenu d'un répertoire simplement
    Bonjour,

    Je cherche a scripter ceci:

    "Dans le repertoire courant si il existe d'autres fichiers que ce meme script , affiche-les ."

    J'ai compris en lisant le man que grep doit pouvoir faire l'affaire mais j'ai pas réussi ( complexe ) .
    Je peux poster un essai si besoin.

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    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 347
    Par défaut
    Bonjour et bienvenue,

    La question est un peu vague, comment doit on considérer la présence d'un répertoire, par exemple ?
    Et doit on prendre aussi ce que l'on appelle les fichiers cachés ?

    Enfin, ici, grep n'est pas vraiment utile, je pense qu'une boucle while ou for et la commande test sont suffisantes pour ton besoin si on a pas besoin de descendre dans les répertoires potentiellement présents.
    On pourrait aussi sortir l'artillerie lourde et résoudre ton problème avec juste la commande find.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par hkkmori Voir le message
    Je cherche a scripter ceci:

    "Dans le repertoire courant si il existe d'autres fichiers que ce meme script , affiche-les ."
    Manifestement, il s'agit d'un exercice.
    Ici, on ne résoudra pas l'exercice à ta place, mais si tu essaies quelque chose et que ça ne fonctionne pas exactement comme tu voudrais, on pourra t'aider!

    J'ai compris en lisant le man que grep doit pouvoir faire l'affaire mais j'ai pas réussi ( complexe ) .
    Oui, grep peut être un bon candidat!

    Je peux poster un essai si besoin.
    Oui, montre-nous tes essais!

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 655
    Par défaut
    Bonjour,

    vu qu'il s'agit de créer un script, j'aurais tendance à rester autant que possible "full shell" (une préférence ? POSIX, bash, ksh, zsh... ?).

    autrement dit :
    Dans le répertoire courant
    • quelle est la notation pour désigner le script courant ?


    afficher les fichiers (s'il en existe)
    • comment parcourir les éléments d'un répertoire ?
    • comment distingue-t-on un fichier des autres éléments qui peuvent figurer dans un répertoire ?


    qui ne sont pas le script en cours d'exécution."
    • quelle notation permet de connaître le nom du script en cours ?


    par contre la partie « afficher les fichiers », est un peu vague : il faut afficher le nom des fichiers, ou leur contenu ?
    a priori, j'opterais pour la première hypothèse.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre averti
    Homme Profil pro
    unknown
    Inscrit en
    Novembre 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : unknown

    Informations forums :
    Inscription : Novembre 2016
    Messages : 16
    Par défaut
    Merci pour votre aide .

    Il s'agit des noms des fichiers uniquement du repertoire courant, cachés inclus, sauf le nom de ce meme script, et aussi sans les sous-repertoires.
    Ce n'est pas un exercice donné, mais je reconnais que ça en a l'air.
    En bash ça me parait correct, c'est pas obligé, pour les autres shell je sais pas.

    J'ai pensé à un script parce que c'est peut-être plus clair qu'en une seule commande.
    C'est pas joli mais voilà un de mes essais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
     
    # analyse.bash
     
    echo "Les fichiers et sous-repertoires du repertoire courant:"
    ls -A
    echo "Maintenant les fichiers sans le script:"
    grep -d skip --exclude=analyse.bash -e *

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 655
    Par défaut
    c'est drôle de se focaliser sur une méthode qui n'est pas appropriée : grep, utilisé de cette manière, traite le contenu des fichiers.
    mais tu n'as donc pas testé ton script ?

    à la rigueur, tu pourrais effectivement filtrer avec grep la sortie de ls en faisant apparaître le type de fichier, mais ça ajoute des complexités inutiles, et
    ON N'UTILISE PAS ls DANS UN SCRIPT !!!

    1- comment parcourir/lister les éléments d'un répertoire (sans ls !) ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre averti
    Homme Profil pro
    unknown
    Inscrit en
    Novembre 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : unknown

    Informations forums :
    Inscription : Novembre 2016
    Messages : 16
    Par défaut
    J'y arrive en partie avec find , mais je n'arrive pas a exclure le nom du script executé .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find $PWD/* -maxdepth 0 -type f

Discussions similaires

  1. [DOM] Afficher le contenu d'un répertoire d'images
    Par isa28 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/10/2008, 22h35
  2. Réponses: 62
    Dernier message: 25/01/2007, 16h27
  3. Afficher le contenu d'un répertoire accessible par ftp
    Par diamonds dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/01/2007, 19h08
  4. Réponses: 6
    Dernier message: 25/10/2006, 21h00
  5. Afficher le contenu d'un répertoire
    Par Lung dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 20/06/2006, 11h50

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