для логов наверное лучше сделать привязку по имени, а не по дескриптору файла которое по умолчанию идёт с ключем -f
а то придётся каждый раз перезапускать скрипт с tail если файл с логом будет пересоздан, например при ротации. tail --follow=name /path/to/LOG
Все у вас работает.
Просто запись в файл буферизируется, и пишется непострочно а поблочно.
Подождите немного, пока данных накопится и они в файле появятся.
Или можно так:
указать grep --line-buffered
использовать stdbuf -o0 grep (или любую другую команду)