J'ai la chaîne suivante de grep
sUtilisez GNU parallel pour exécuter une série de greps?
grep -E '[0-9]{3}\.[0-9]+ ms' file.log | grep -v "Cycle Based" | grep -Ev "[0-9]{14}\.[0-9]+ ms" > pruned.log
que je dois exécuter sur un fichier journal de 10G. Cela prend un peu plus de temps que je suis prêt à attendre, donc j'essaie d'utiliser GNU parallel
, mais je ne vois pas comment je peux exécuter cette chaîne de grep
en utilisant parallel
.
Ce n'est pas une question de savoir comment exécuter le plus rapide possible simple grep
, c'est sur la façon d'exécuter une série de grep
s en parallèle
double possible de [la plus rapide possible grep] (https://stackoverflow.com/questions/9066609/greget le plus rapide possible) –
@MichaelFoukarakis, pas un doublon. J'ai déjà lu cette question et ce n'est pas ce que je cherche. –
Vous pouvez mettre tous vos cmds 'grep' dans un script shell et l'appeler comme' myBigGrep.sh file.log' et remplacer le nom de fichier à l'avant du tube par '$ {@}' .'parallel' plusieurs fichiers à traiter. Êtes-vous prêt à passer le temps de «scinder» votre gros fichier en 'fichier001.log, fichier002.log ...'? Cela pourrait porter ses fruits, mais il faudra du temps pour le tester. Vous pouvez passer votre temps à installer log-rotate, de sorte que vous ayez des fichiers journaux quotidiens (toutes les heures?). Bonne chance. – shellter