Je recherche dans un dépôt Git et je souhaite inclure le dossier .git
.
grep
n'inclut pas ce dossier si j'exécute
grep -r search *
Qu'est-ce qu'une commande grep pour inclure ce dossier ?
Je recherche dans un dépôt Git et je souhaite inclure le dossier .git
.
grep
n'inclut pas ce dossier si j'exécute
grep -r search *
Qu'est-ce qu'une commande grep pour inclure ce dossier ?
Peut-être préférez-vous combiner "grep" avec la commande "find" pour une solution complète comme :
find . -exec grep -Hn search {} \;
Cette commande recherchera à l'intérieur des fichiers cachés ou des répertoires la chaîne "search" et listera tous les fichiers ayant une coïncidence avec ce format de sortie :
Chemin du fichier : Numéro de ligne :ligne avec coïncidence
./foo/bar:42:search line
./foo/.bar:42:search line
./.foo/bar:42:search line
./.foo/.bar:42:search line
Vous pouvez utiliser cette approche, en supposant que vous recherchez le répertoire actuel (sinon remplacez . par le répertoire souhaité) :
find . -type f | xargs grep search
ou si vous voulez juste faire une recherche au niveau supérieur (ce qui est plus rapide à tester si vous les essayez) :
find . -type f -maxdepth 1 | xargs grep search
MISE À JOUR : J'ai modifié les exemples en réponse aux commentaires de Scott. J'ai aussi ajouté "-type f".
Pour éviter de faire correspondre .
..
qui ne sont pas des fichiers cachés, vous pouvez utiliser grep
ls -A
comme dans cet exemple :
ls -A | grep "^\."
^\.
indique que le premier caractère doit être .
L'option -A
ou --almost-all
exclut les résultats .
..
de sorte que seuls les fichiers et répertoires cachés sont appariés.
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.