Прочитать и удалить строки в файле, дождаться новых строк в конце

Прочитать и удалить строки в файле, дождаться новых строк в конце

На самом деле я ищу скрипт bash, который отслеживает файл, выполняет каждую новую строку в файле и затем удаляет ее. Когда весь файл обработан, скрипт должен ждать новых строк.

Я искал какие-либо ответы, но не нашел ничего, кроме прочтения каждой строчки в файле.

Кстати, эффективен ли bash для решения такой задачи или мне следует написать небольшую программу на языке C для этого?

решение1

Следующий код делает все, о чем вы просите, за исключением удаления строк из файла:

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

Сначала просто запустите файл, а затем, используя tail и eval, вы можете довольно легко добиться желаемого поведения.

решение2

Если удаление линии не является обязательным, вы также можете попробовать:

 tail -f filename | parallel eval "{}"

Связанный контент