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' .