Leia e remova linhas do arquivo, aguarde novas linhas no final

Leia e remova linhas do arquivo, aguarde novas linhas no final

Na verdade, estou procurando um script bash que monitore um arquivo, execute cada nova linha no arquivo e remova a linha. Quando todo o arquivo é processado, o script aguarda por novas linhas.

Procurei por alguma resposta, mas quase não encontrei nada além de ler cada linha de um arquivo.

A propósito, o bash é eficiente em uma tarefa como essa ou devo construir um pequeno programa em C para fazer isso?

Responder1

O seguinte faz tudo o que você pede, exceto remover as linhas do arquivo:

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

Primeiro, basta executar o arquivo e depois abusar de tail e eval você pode facilmente aproximar o comportamento desejado.

Responder2

Se remover a linha não for obrigatório, você também pode tentar:

 tail -f filename | parallel eval "{}"

informação relacionada