Je veux rechercher une chaîne, par exemple "principal" dans mon projet sur Windows OS récursivement. J'ai cherché cela et j'ai trouvé une solution ligne de commande grep récursive Windows
J'ai appliqué la même chose avec deux approches différentes, et le résultat n'est pas comme prévu.
par exemple. mon approche
findstr /S "main" *.cpp
mais quand je choisis
findstr /S "int main" *.cpp
Je n'obtiens pas seulement ma fonction principale. Quelle est la différence entre ces deux approches? est-ce mal de donner de l'espace aux chaînes?
C'est parce que findstr
prend un ensemble de chaînes à rechercher. Pour faire correspondre la chaîne int main
vous devez utiliser le /C
option:
findstr /s /C:"int main" *.cpp
tandis que votre variante vous donne chaque ligne avec int
ou main
.
Un peu tard pour la fête ici, mais si vous utilisez
findstr /S "int.main" *.cpp
il traitera le point comme un joker, qui correspond à un espace, et tant que cela ne vous dérange pas certaines correspondances superflues (ce qui est peu probable dans ce cas), cela fonctionnera bien pour vous.
J'utilise cela, ne connaissant pas l'option/C: avant de lire les réponses ci-dessus.