Je veux grep pour un appel de fonction 'init()' dans tous les fichiers JavaScript d'un répertoire. Comment faire avec grep ?
En particulier, comment puis-je échapper à la parenthèse, ()
?
Je veux grep pour un appel de fonction 'init()' dans tous les fichiers JavaScript d'un répertoire. Comment faire avec grep ?
En particulier, comment puis-je échapper à la parenthèse, ()
?
Cela dépend. Si vous utilisez un grep normal, vous ne vous échappez pas :
echo '(foo)' | grep '(fo*)'
Vous devez en fait vous échapper si vous voulez utiliser les parenthèses comme groupe.
Si vous utilisez des expressions régulières étendues, vous échappez :
echo '(foo)' | grep -E '\(fo*\)'
Si vous voulez rechercher exactement la chaîne "init()" alors utilisez fgrep "init()"
ou grep -F "init()"
.
Les deux feront une correspondance de chaîne fixe, c'est-à-dire traiteront le modèle comme une chaîne simple à rechercher et non comme une regex. Je crois qu'il est aussi plus rapide que de faire une recherche regex.
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.