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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé 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
    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 émérite
    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
    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...

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    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 émérite
    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
    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.

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, 22h39
  2. Trouver les phrases qui contiennent une chaine
    Par runner77 dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2012, 15h35
  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, 11h35
  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, 15h49
  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, 18h56

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