Lea y elimine líneas en el archivo, espere nuevas líneas al final

Lea y elimine líneas en el archivo, espere nuevas líneas al final

De hecho, estoy buscando un script bash que monitoree un archivo, ejecute cada nueva línea en el archivo y luego elimine la línea. Cuando se procesa todo el archivo, el script debe esperar nuevas líneas.

Busqué respuestas pero apenas encontré nada más que leer cada línea de un archivo.

Por cierto, ¿bash es eficiente en una tarea como esta o debería crear un pequeño programa en C para hacer esto?

Respuesta1

Lo siguiente hace todo lo que usted pide excepto eliminar las líneas del archivo:

$ ./script && tail -n0 -f script | while read line; do eval "${line}"; done;

Primero, simplemente ejecute el archivo y luego, abusando de tail y eval, podrá aproximarse fácilmente al comportamiento que desea.

Respuesta2

Si eliminar la línea no es obligatorio, también puedes intentar:

 tail -f filename | parallel eval "{}"

información relacionada