GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser grep pour rechercher dans le répertoire courant tous les fichiers ayant la chaîne a hello mais afficher uniquement les fichiers .h et .cc?

grep -r --include=*.{cc,h} "hello" .

Cela se lit :rechercher de manière récursive (dans tous les sous-répertoires également) tous les fichiers .cc OU .h contenant "hello" à ce . répertoire (courant)

À partir d'une autre question de débordement de pile


Vous pouvez transmettre des caractères génériques au lieu de spécifier des noms de fichiers ou d'utiliser stdin.

grep hello *.h *.cc

find . -name \*.cc -print0 -or -name \*.h -print0 | xargs -0 grep "hello" .

Consultez les pages de manuel pour find et xargs pour plus de détails.


Linux
  1. Comment trouver tous les fichiers qui ne contiennent pas de chaîne de texte ?

  2. Comment utiliser l'interface graphique pour rechercher des fichiers dans Gnome ?

  3. Utilisez Find and Locate pour rechercher des fichiers sous Linux

  4. Ligne de commande :rechercher et remplacer dans tous les noms de fichiers correspondant à grep

  5. Sortie de canal à utiliser comme spécification de recherche pour grep sous Linux

Comment utiliser sed pour rechercher et remplacer une chaîne dans des fichiers

Comment utiliser bash if -z et if -n pour tester des chaînes sous Linux

Comment rechercher des fichiers à partir de la ligne de commande Linux

Comment installer et utiliser Okteta pour les fichiers de données RAW sous Linux

Linux recherche une chaîne dans des dossiers et des fichiers avec ack

Comment effectuer une recherche Grep sur tous les fichiers et dans tous les répertoires