Peut-on rechercher un terme (par exemple "onblur") de manière récursive dans certains dossiers uniquement dans des fichiers spécifiques (fichiers html)?
grep -Rin "onblur" *.html
Cela ne retourne rien. Mais,
grep -Rin "onblur" .
renvoie le résultat de la recherche "onblur"
à partir de tous les fichiers disponibles, comme dans le texte (".txt"), le .mako, le .jinja, etc.
Envisagez de vérifier cette réponse et celle-là .
Cela pourrait aussi vous aider: grep certains types de fichiers de manière récursive | commandlinefu.com .
La commande est:
grep -r --include="*.[ch]" pattern .
Et dans votre cas c'est:
grep -r --include="*.html" "onblur" .
grep -r --include "*.html" onblur .
Je viens de: Comment puis-je grep récursivement?
Vous pourriez aussi aimer ag 'le chercheur d'argent' -
ag --html onblur
il recherche par défaut une expression rationnelle et est récursif par défaut dans le répertoire en cours. Il possède des ensembles d'extensions prédéfinis. Dans ce cas, --html est mappé sur .htm, .html, .shtml, .xhtml. Ignore également les fichiers binaires, imprime les noms de fichier, les numéros de ligne et colorise la sortie par défaut.
Quelques options -
-Q --literal
Do not parse PATTERN as a regular expression. Try to match it literally.
-S --smart-case
Match case-sensitively if there are any uppercase letters in PATTERN,
case-insensitively otherwise. Enabled by default.
-t --all-text
Search all text files. This doesn't include hidden files.
--hidden
Search hidden files. This option obeys ignored files.
Pour la liste des types de fichiers pris en charge, exécutez ag --list-file-types
.
La seule chose qui semble manquer est de pouvoir spécifier un type de fichier avec une extension, auquel cas vous devez vous rabattre sur grep avec --include.