user
Comment rechercher les fichiers qui contiennent un motif donné en ligne de commande sous Ubuntu ?
alphonsio

Sous Linux, la commande grep permet de rechercher les fichiers qui contiennent un motif donné (mot, texte...) :

grep "pattern to search" path

Les options suivante peuvent aussi être utiles :

  • -r recherche récursivement dans le sous dossiers ( ou --recursive )
  • -i cherche sans distinction majuscule / minuscule ( ou --ignore-case )

La commande suivante cherche récursivement MoTiF dans les sous dossiers, en ignorant la casse :

grep -i -r "MoTiF" path

Pour rechercher des fichiers contenant un motif spécifique en ligne de commande sous Ubuntu, on utilise principalement la commande grep. Voici comment procéder :

1. Recherche dans les fichiers d’un répertoire

Pour rechercher un motif donné dans tous les fichiers d'un répertoire, utilisez la commande suivante :

grep -r "motif" /chemin/du/répertoire
  • -r (ou --recursive) permet de faire une recherche récursive dans tous les sous-répertoires.
  • Remplacez "motif" par le texte ou le motif que vous recherchez.
  • Remplacez /chemin/du/répertoire par le chemin du répertoire où effectuer la recherche.

2. Options couramment utilisées avec grep

  • Ignorer la casse : Pour que la recherche ne soit pas sensible à la casse (minuscules et majuscules), ajoutez l'option -i :

    grep -ri "motif" /chemin/du/répertoire
    
  • Afficher les numéros de ligne : Pour voir les numéros de ligne où le motif apparaît dans chaque fichier, utilisez -n :

    grep -rn "motif" /chemin/du/répertoire
    
  • Rechercher un motif exact : Pour rechercher uniquement les correspondances exactes, utilisez -w :

    grep -rw "motif" /chemin/du/répertoire
    
  • Limiter la recherche aux fichiers avec une extension spécifique : Par exemple, pour rechercher uniquement dans les fichiers .txt, utilisez une commande comme celle-ci :

    grep -r "motif" /chemin/du/répertoire --include "*.txt"
    

3. Exemples supplémentaires

  • Rechercher dans les fichiers d’un répertoire courant : Si vous souhaitez rechercher un motif dans tous les fichiers du répertoire courant, utilisez . comme chemin :

    grep -r "motif" .
    

Ces commandes vous permettront de trouver rapidement les fichiers contenant un motif spécifique et d’afficher les lignes correspondantes.