2011-02-11 3 views
1

Comment puis-je rechercher une chaîne particulière à l'intérieur de tous les fichiers à l'intérieur d'un répertoire particulier donné de manière récursive.Rechercher un motif de chaîne (regex) à l'intérieur des fichiers

Par exemple, je veux rechercher le texte:

<a title="Hot or Not" href="http://aaaaat"><span>Hot or Not</span></a> 
+0

Pourquoi cela a-t-il été réduit? Cela me semble une très bonne question. –

Répondre

1

Je pense que ce que vous cherchez est « grep ». Essayez l'homme grep au terminal.

Je suppose que vous utilisez Linux?

+0

oui je sais que je peux utiliser grp, mais quelle est la syntaxe je veux obtenir le nom du fichier qui contient le modèle donné – algorithmX

+0

je pense quelque chose comme: grep -w 'Hot | ou | Not'/répertoire/à/être/recherché Encore une fois, je ne dis consulter les pages de manuel en outre, un excellent tutoriel peut se trouver ici: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_04_02. html – Zrb0529

5

$ grep -lR 'Hot or Not this is my word that i want to search' ./somedir/?

-l supprime la sortie normale; imprime à la place le nom de chaque fichier d'entrée à partir duquel la sortie aurait normalement été imprimée. -R ou -r lit tous les fichiers sous chaque répertoire, récursivement.

+0

ce nom de fichier de retour qui contient le modèle? – algorithmX

+0

@algorithmX: oui - c'est ce que fait le -l (notez qu'il s'agit d'un 'ell' plutôt que d'un) –