Некоторые команды, например, l2ping буферизируют stdout, тем самым мешая использованию пайпов (перенаправлений вывода) засчет того, что вывод не перенаправляется в “live” режиме, а буферизируется и передается следующей команде только после выполнения/остановки команды.

Отключить stdout buffering для конкретной команды можно с помощью stdbuf:

stdbuf --output=0 command
stdbuf -o 0 command
# можно отключить буфферизацию для всего (stdin, stdout, stderr)
stdbuf -i0 -o0 -e0 command

or w/ unbuffer:

unbuffer l2ping

Еще о случаях использования в пайпах

Иногда может понадобится отключить и для следующей команды буфферизацию в пайпах:

unbuffer command | unbuffer other_command

Sauce: Ответ на SO