Linux 具有毫秒间隔的netcat

Linux 具有毫秒间隔的netcat,linux,shell,pipe,netcat,Linux,Shell,Pipe,Netcat,我正在尝试使用netcat每隔几毫秒读取一行文件,并将其发送到端口 到目前为止,我从netcat文档中了解到,它可以在发送的每一行之间插入一个时间间隔: 这来自netcat帮助手册: -i发送线路、扫描端口的秒延迟间隔 我尝试了以下方法,它允许我在发送的每一行之间插入至少1秒的时间间隔 nc -q 10 -i 1 -lk 9999 < file_input nc-q10-i1-lk9999

我正在尝试使用netcat每隔几毫秒读取一行文件,并将其发送到端口

到目前为止,我从netcat文档中了解到,它可以在发送的每一行之间插入一个时间间隔:

这来自netcat帮助手册:

-i
发送线路、扫描端口的秒延迟间隔

我尝试了以下方法,它允许我在发送的每一行之间插入至少1秒的时间间隔

nc -q 10 -i 1 -lk 9999 < file_input
nc-q10-i1-lk9999

我想知道是否有办法将这个时间间隔缩短到毫秒。可能通过使用允许以毫秒为单位配置每次读取间隔的实用程序将文件的输入管道化到netcat?

使用GNU coreutils的睡眠允许睡眠几秒钟。因此,您可以尝试:

while read -r line ; do echo "$line"; sleep 0.001; done < "/path/to/file" | nc host port
读取-r行时
;做回显“$line”;睡眠0.001;完成
在每个循环中,变量“line”保存文件的一行,该行通过netcat发送到端口“port”上的主机“host”。发送一行后,代码等待0.001秒,asf。直到文件中没有更多要发送的数据


有关sleep命令等待几秒钟的能力的更多信息,请参见“”。

顺便问一下,您知道如何跟踪已读取的行数吗?i、 e.如果我能同时输出到netcat和STDOUTINTRODUCT,则产生一个计数器变量并回显到stderr;stdout已经去netcat了。类似的东西应该可以工作:COUNT=0;而read-r行;做回显“$line”;设“计数+=1”;echo$COUNT>&2;睡眠0.001;完成