Comment puis-je récursivement grep tous les répertoires et sous-répertoires ?
find . | xargs grep "texthere" *
Comment puis-je récursivement grep tous les répertoires et sous-répertoires ?
find . | xargs grep "texthere" *
Si vous connaissez l'extension ou le motif du fichier que vous voulez, une autre méthode est d'utiliser --include
option:
grep -r --include "*.txt" texthere .
Vous pouvez aussi mentionner les fichiers à exclure avec --exclude
.
Si vous avez souvent de la recherche par le biais de code, Ag (Argent Chercheur) est beaucoup plus rapide, alternative à grep, adaptée aux besoins de la recherche de code. Par exemple, il est récursive par défaut et automatiquement ignore les fichiers et les répertoires listés dans .gitignore
, de sorte que vous n'avez pas à garder en passant la même lourd exclure les options de grep ou trouver.
J'ai maintenant toujours utiliser (même sur Windows avec GoW -- Gnu sous Windows):
grep --include="*.xxx" -nRHI "my Text to grep" *
Qui comprend les options suivantes:
--include=PATTERN
Récursif de répertoires de fichiers de recherche de correspondance
PATTERN
.
-n, --line-number
Préfixe de chaque ligne de sortie avec le numéro de la ligne dans son fichier d'entrée.
-R, -r, --recursive
Lire tous les fichiers dans chaque répertoire, de manière récursive; c'est l'équivalent de l'
-d recurse
option.
-H, --with-filename
Imprimer le nom du fichier pour chaque match.
-I
Processus un fichier binaire, comme si elle ne contient pas de données correspondantes;
c'est l'équivalent de l'--binary-files=without-match
option.
Et je peux ajouter 'i
' (-nRHIi
), si je veux pas sensible à la casse des résultats.
Je peux obtenir:
/home/vonc/gitpoc/passenger/gitlist/github #grep --include="*.php" -nRHI "hidden" *
src/GitList/Application.php:43: 'git.hidden' => $config->get('git', 'hidden') ? $config->get('git', 'hidden') : array(),
src/GitList/Provider/GitServiceProvider.php:21: $options['hidden'] = $app['git.hidden'];
tests/InterfaceTest.php:32: $options['hidden'] = array(self::$tmpdir . '/hiddenrepo');
vendor/klaussilveira/gitter/lib/Gitter/Client.php:20: protected $hidden;
vendor/klaussilveira/gitter/lib/Gitter/Client.php:170: * Get hidden repository list
vendor/klaussilveira/gitter/lib/Gitter/Client.php:176: return $this->hidden;
...
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.