GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Trouver une sous-chaîne dans des fichiers dans des sous-répertoires avec une seule commande intégrée ?

Sous Windows, si je voulais trouver une chaîne dans tous les fichiers de tous les sous-répertoires, je ferais quelque chose comme

findstr /C:"the string" /S *.h

Cependant, sous Linux (par exemple, Ubuntu), je n'ai trouvé aucun autre moyen qu'une commande canalisée impliquant find , xargs , et grep (un exemple est sur cette page :Comment puis-je grep récursivement dans les sous-répertoires ?). Cependant, ma question est différente :existe-t-il une commande intégrée unique qui fonctionne grâce à cette magie, sans avoir à écrire mon script shell ?

Réponse acceptée :

GNU grep permet la recherche récursive dans les sous-répertoires :

grep -r --include='*.h' 'the string' .

Linux
  1. Travailler avec des canaux sur la ligne de commande Linux

  2. 10 trucs et astuces incroyables pour travailler avec Linux

  3. Comment rechercher des fichiers avec la commande fd sous Linux

  4. Commande Linux rsync avec des exemples pratiques

  5. Trouver une sous-chaîne dans des fichiers dans des sous-répertoires avec une seule commande intégrée ?

Comment télécharger des fichiers avec la commande Curl sous Linux

Comment télécharger des fichiers avec la commande Wget sous Linux

Tutoriel sur la commande de recherche Linux (avec exemples)

Commande Grep sous Linux (avec exemples)

Commande lsof sous Linux avec exemples

Commande comm Linux avec exemples