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 :

Recherche d'une chaine de caractères [Débutant(e)]


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut Recherche d'une chaine de caractères
    Bonjour je voudrai rechercher une chaine de carracteres sur un ensemble de fichiers, alors que je suis situe au dessus du repertoire, ou la rascine de l'arborescence, au dessus du home par exemple en linux. En d'autres termes, je demande s'il est possible de faire comme en Windows, trouver des noms de fichier en recherchant par chaine de carracteres dans une arbosrescence de dossier, et sur plusieurs fichiers.
    Si quelqu'un peut me donner la syntaxe svp, et egalement un exemple explicite, parce que j'ai deja un livre -editions Eni- qui traite d'une maniere generale du langage shell, mais qui ne me montre pas de facon detaille comment on peut faire ce genre de recherche. Ou il n'y a pas d'index fait de facon suffisament explicite pour que je trouve tres rapidement.

    En vous remerciant a l'avance.

    Cordialement

  2. #2
    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
    tu peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /chemin/a/partir/duquel/tucherches/ -type f -exec grep "chaine" {} \;
    mot a mot

    cherche depuis_chemin tout_fichier y_effectuer_une_recherche de_"chaine"

    grep fait la recherche elle meme

    find et ses options ne definissent que ou checrher et a faire un tri pour ne tester que les fichier et pas les repertoires (type f)

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    tu peux aussi faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cd /position/de/depart
    ls -laR |grep -i "chaine"
    Explications des lignes
    cd => tu te positionnes dans le répertoire d'ou tu veux partir (cd /home par exemple)
    ls => liste les fichiers du répertoire courant
    -l => affichage de renseignements sur le fichier
    -a => affiche tous les fichiers (meme cachés)
    -R => va récursivement (liste le contenu de chaque dossier, sous-dossier, etc)

    | => pipe = le membre à droite du pipe récupère le résultat du membre à gauche du pipe
    grep -i => affiche sur la sortie standard les lignes qui contiennent "chaine"
    -i => insensible à la casse

    Voili voilou

  4. #4
    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
    Citation Envoyé par bit_o
    [...]
    sauf que la tu as aussi les repertoires dans tes resultats

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    il n'a pas dit qu'il ne voulait que les fichiers, si ?
    si c'est le cas, je suis désolé ma solution (qui me paraissait plus rapide ) ne te donnera pas le résultat escompté

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut
    Citation Envoyé par bit_o
    il n'a pas dit qu'il ne voulait que les fichiers, si ?
    Effectivement je voulais que les fichiers et leur chemin, mais avec ce que vous m'avez donne comme infos, ca me suffit largement.
    Je vous remercie a tous -ou toute(s) s'il y a des dames ou demoiselle(s)-
    Cordialement

  7. #7
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Citation Envoyé par smutmutant2003
    Bonjour je voudrai rechercher une chaine de carracteres sur un ensemble de fichiers, alors que je suis situe au dessus du repertoire, ou la rascine de l'arborescence, au dessus du home par exemple en linux.
    Autre possibilité ( nota : . correspond au répertoire courant ) :

    find . -type f | xargs grep {chaine_recherchée}


    Recherche récursive avec grep :

    grep -r {chaine_recherchée} *

    http://linux.developpez.com/faq/?page=Shells
    http://man.developpez.com/man1/grep.1.php

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

Discussions similaires

  1. Recherche dans une chaine de caractères
    Par stepd dans le forum C
    Réponses: 4
    Dernier message: 19/07/2006, 18h55
  2. [VB]Recherche d'une chaine de caractère dans un fichier
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 16/02/2006, 09h10
  3. [VB.NET] Recherche dans une chaine de caractères
    Par Pleymo dans le forum Windows Forms
    Réponses: 12
    Dernier message: 09/04/2005, 10h25
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51
  5. recherche d'une chaine de caractère dans une données text
    Par jdeheul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/06/2004, 16h35

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