sed 命令替换后的显示问题

用tcpdump -n icmp | sed "s/ICMP/TCP/g"抓包时,另一个机器ping,console不像直接tcpdump会立即显示,而是等一段时间把这段时间的包一次性显示,请问这是怎么回事?
小弟查询了很多sed命令用法没有提及上面情况,在线等,求解答!
如果用ping 10.8.2.118 | sed "s/icmp/tcp/g"是可以及时显示,跟正常ping一样,正常替换。

  1. Sed简介 sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。

怀疑你用tcpdump时,数据为一行,等遇到换行时才显示出来造成的,而用ping命令的话,每一次都有换行,所以能及时显示