Cada semana más o menos necesito cargar un archivo que tiene millones de líneas y comenzar a ejecutar greps en él. Algunos greps son positivos, algunos son negativos (bandera "-v"). Algunos son grep y otros son egrep.
Lo hago manualmente hoy: ejecute un grep, guarde los resultados en un archivo, luego ejecute otro grep en este archivo y guarde en el archivo2, luego el archivo3, etc.
¿Existe alguna herramienta que pueda hacerme la vida más fácil donde pueda manipular fácilmente una lista de greps, egreps, que la herramienta calculará y mostrará los resultados en vivo? La herramienta necesita almacenar en caché los resultados de greps anteriores para evitar volver a ejecutarlos todo el tiempo.
Respuestas:
No estoy muy seguro de lo que quiere decir con "mostrar los resultados en vivo" (pero vea el final de mi respuesta para una idea), pero generalmente usaría make para este tipo de tarea. Por ejemplo, dado un archivo srcfile.txt en el que voy a ejecutar varios greps, pondría los greps en un archivo MAKE algo como esto:
... Entonces puedo ejecutar todos los greps necesarios para actualizar los archivos de salida con
... puedo ejecutar todos los greps que buscan letras individuales con
... etc Más de un par de semanas en su situación, creo que me acumulan rápidamente un conjunto de maquillaje reglas que cubrían todos (o casi todos) de los casos en los que yo estaba interesado.
Es posible que pueda ahorrar algo más de tiempo y esfuerzo al poner los comandos para cargar su archivo de más de un millón de líneas en el archivo MAKE también.
Si elegir uno o más objetivos con el comando make no proporciona suficiente flexibilidad, puede usar condicionales en el archivo make, según las variables que establezca al ejecutar make , por ejemplo, consulte el tutorial de makefile de GNU sobre condicionales y este artículo sobre cómo pasar variables desde la línea de comando make .
Para mostrar los resultados del grepping a medida que sucede, me inclinaría a usar la cola o menos como se recomienda aquí . Una dificultad es que cualquiera de los métodos solo muestra un archivo a la vez. Necesito saber más sobre su necesidad de visualización "en vivo" para saber si eso puede ser satisfactorio o si se requiere otra solución.
fuente