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 :

chemin d'un dossier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Par défaut chemin d'un dossier
    Bonjour,

    Voilà j'explique mon problème :
    je dois faire une recherche de caractère sur le chemin d'un dossier ou d'un fichier donné en paramètre d'un script shell ( ou bash ).

    De ce fait, j'aimerais savoir comment récupérer le chemin complet de ce dossier ou fichier pour pouvoir ensuite faire une recherche du type grep, sed ou find avec le chemin inscrit dans un fichier.

    Merci d'avance de votre aide.

    Bérénice

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    Bonjour Bérénice,

    Je suis probablement en hypoglycémie, parce que j'ai du mal à comprendre.

    avec un exemple, ce serait plus clair.
    ou avec l'énoncé de l'exercice (car il s'agit bien d'un travail scolaire, n'est-ce pas ?)
    ...
    ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé 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
    Par défaut
    basename/dirname ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $  FOO=`dirname /usr/bin/tail` 
    $ echo $FOO
    /usr/bin
    $ BAR=`basename /usr/bin/tail`
    $ echo $BAR
    tail
    $

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Par défaut
    exemple :

    berenice:$ exo /dossier/fichier
    Je dois faire un test si le nom du dossier est bien celui que je veux. Donc comment faire pour récupérer le chemin de $1

    c'est plus compréhensible?

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    nan! pas plus clair :
    ...
    ?

    que cherches-tu ?
    - le chemin absolu d'un répertoire dont tu n'as que le nom
    - le chemin absolu d'un fichier dont tu n'as que le nom
    - y a-t-il un répertoire de départ (par défaut)
    ...
    ?
    le chemin de $var s'obtient par ${var%/*}
    cf. man bash substitution des paramètres
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Par défaut
    en fait, pour faire plus simple, est-il possible de faire un grep sur une chaine de caractère?

    exemple :
    grep B Bonjour
    et d'avoir pour résultat
    Bonjour
    etant donné que le B est dans Bonjour mais avec Bonjour étant le texte dans lequel cherché et non pas un fichier dans lequel chercher?

    Est ce que c'est plus compréhensible maintenant?

  7. #7
    Membre expérimenté
    Homme Profil pro
    Gérant infopsylon
    Inscrit en
    Juin 2010
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Gérant infopsylon
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2010
    Messages : 215
    Par défaut
    Non pas de cette manière.
    Tu grep un fichier, pas une chaine

    Tu pourrais écrire ce que tu veux, plutôt de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "Bonjour" | grep B
    Lilian.

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    Je dois faire un test si le nom du dossier est bien celui que je veux. Donc comment faire pour récupérer le chemin de $1
    donc : $1 est le parametre a controler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if [ -d $1 ]  # si $1 est bien un dossier et existe
    then
      $1 est un dossier existant
    fi
    ensuite il est possible de tester si ce dossier et bien celui que tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if [ $1 -eq "mon_dossier" ]
    then 
    ........
    # ou plus "moderne"
    if [[ $1 == "mon_dossier" ]]
    then
    .....
    attention, ici je considère que le paramètre dossier est en chemin absolu

    pour plus de précision dans nos réponses, l'énoncé exacte de l'exercice est nécessaire .

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Par défaut
    j'ai trouvé :
    echo "$1" | grep Bonjour
    au cas ou quelqu'un en ai besoin
    Merci quand même a ceux qui ont essayé de m'aider.

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

Discussions similaires

  1. [FTP] Indiquer un chemin vers un dossier sur le C: du serveur?
    Par othland dans le forum Web & réseau
    Réponses: 3
    Dernier message: 24/08/2007, 19h35
  2. récupérer le chemin d'un dossier?
    Par foufoulina2007 dans le forum Graphisme
    Réponses: 1
    Dernier message: 11/08/2007, 15h34
  3. Choisir le chemin d'un dossier
    Par manaboko dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 30/01/2007, 12h37
  4. [DOS] récupérer le chemin absolu du dossier courant
    Par seiryujay dans le forum Windows
    Réponses: 1
    Dernier message: 14/06/2006, 14h58
  5. [JSP]Bouton parcourir pour chemin d'un DOSSIER
    Par SanNash dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/05/2006, 15h25

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