2017-01-20 1 views
4

Il y a 84 caractères à vérifier, je les stocke dans le nom de fichier pattern.txt.Est-ce que silver-searcher est capable d'obtenir PATTERN à partir d'un fichier?

Est-ce que silver-searcher (également appelé Ag) est en mesure d'obtenir ces modèles à partir de pattern.txt?

grep a -f options pour lire le motif à partir du fichier, mais la page de manuel de silver-searcher ne mentionne rien à ce sujet.

+0

L'argent chercheur == ag? – fedorqui

+0

Oui, ils sont identiques. – good5dog5

Répondre

3

Non, il n'y a pas d'option -f similaire dans ag. L'approche simple consiste à utiliser loop pour passer les patterns à ag; par exemple, vous pouvez utiliser une boucle while pour lire les motifs comme ceci:

while read pattern; do ag "$pattern" -G '.*.txt' ; done < patterns.txt 

Je propose l'approche plus rapide de l'utilisation parallèle GNU avec ag. Des travaux parallèles et ag très bien ensemble:

< patterns.txt | parallel 'ag --filename --parallel --color "{}" ' 

Ici, je passe chaque modèle parallèle qui à son tour engendre un certain nombre de processus ag qui recherche de leur propre modèle correspond. Parallèle est un peu intelligent sur le nombre de processus à démarrer, mais vous pouvez le modifier au contenu de votre coeur (https://www.gnu.org/software/parallel/man.html). En bref, vous allez déchirer vos modèles 84 beaucoup plus rapidement avec la parallélisation.