При выводе через pipe (“|”) в Unix обычно буферизируются стандартный поток вывода stdout. Представим ситуацию – мы следим за выводом tshark на экран, но при этом хотим параллельно записывать его в файл (забудем на мгновение о команде
$ sudo tshark -i en1 | tee out.txt
Мы видим, что строки на экране появляются не сразу, а достаточно большими порциями. Причина – в буферизации вывода командой tshark. А наблюдать-то за трафиком хочется в реальном времени – авось появится что-то интересное.
Для решения нужно воспользоваться программой
$ sudo port install expect
А затем
$ unbuffer sudo tshark -i en1 | tee out.txt
Теперь вывод происходит в реальном времени. Детали – в