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

Administration système Discussion :

commande find: trouver les fichiers qui contiennent une chaine de caractère


Sujet :

Administration système

  1. #1
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut commande find: trouver les fichiers qui contiennent une chaine de caractère
    salut,
    voici mon problème :
    je cherche comment trouver dans un répertoire la liste des fichiers qui contiennent l'occurrence d'une chaine donnée.
    j'ai essayé avec la commande find mais sans résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find / -name "*.ksh"  | grep 'ma_chaine'

  2. #2
    Membre éprouvé
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Points : 1 056
    Points
    1 056
    Billets dans le blog
    2
    Par défaut
    qu'entends-tu par sans résultat ?

    car la commande fonctionne bien, mis à part la recherche en racine avec ton "/", où il faut les droits root...
    n'oubliez pas de cliquer sur résolu...

    == pas de question technique en MP. Merci ==

  3. #3
    Membre éclairé
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Points : 750
    Points
    750
    Par défaut
    Citation Envoyé par hammag Voir le message
    salut,
    voici mon problème :
    je cherche comment trouver dans un répertoire la liste des fichiers qui contiennent l'occurrence d'une chaine donnée.
    j'ai essayé avec la commande find mais sans résultat :
    Il faut utiliser soit -exec de find, soit xargs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find / -name "*.ksh" -exec grep -nH "ta_chaine" {} \;
    ou (pas teste mais je crois que c'est ca)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find / -name "*.ksh" | xargs grep -nH "ta_chaine"
    Rq: ce que tu fais c'est greper la sortie de find (c'est-a-dire les noms des fichiers !)

  4. #4
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    À moins de vouloir rajouter plus de critères, la commande find est inutile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -r --include '*.ksh' -e 'ta chaine' le/rep/
    Cette commande devrait suffire.
    L'option -r dit de parcourir récursivement les répertoires.
    L'option --include dit de chercher seulement les fichiers dont le nom correspond au pattern.
    L'option -e n'est pas obligatoire, mais indique explicitement que ce qui suit est le pattern à chercher.
    Si tu veux afficher juste le nom des fichiers, tu peux rajouter l'option -l.
    Enfin, je dirais simplement man grep.

    Si tu as des critères supplémentaires que la commande grep ne permet pas de gérer, la première commande de D[r]eadLock est la bonne.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

Discussions similaires

  1. Copier les lignes qui contiennent une valeur
    Par coolmomodu31 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/12/2013, 21h39
  2. Trouver les phrases qui contiennent une chaine
    Par runner77 dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2012, 14h35
  3. Afficher les fichiers qui contiennent des caractères accentués
    Par jejeman dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 02/10/2012, 10h35
  4. [COMMANDE] copier tous les fichier .c d'une arborescense dans un dossier
    Par SmithC dans le forum Administration système
    Réponses: 3
    Dernier message: 18/02/2010, 14h49
  5. Trouver les fichiers modifiés depuis une date/heure précise
    Par sinok dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 18/07/2006, 17h56

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