如何在每个元素之后将awk输出分配给netcat并延迟?

时间:2014-07-14 08:51:20

标签: bash awk delay netcat

我想转移csv文件的第一个字段,但有一定的延迟,例如每个元素后1秒。我使用awk拉第一个字段,然后使用netcat发送它。我使用以下命令但没有延迟。

awk -F, '{print  $1}' sample.csv | netcat -lk 9999

任何提示都会非常感激。

2 个答案:

答案 0 :(得分:3)

您可以使用awk中的系统执行shell命令,例如sleep。

awk -F, '{system("sleep 1");print  $1}' sample.csv | netcat -lk 9999

尽管如此,使用系统有时会很难在^C中途取消命令,因为它取消了系统调用但不是awk。

答案 1 :(得分:1)

在这种情况下,您可以使用bash代替awk

while IFS="," read -ra array; do echo "${array[0]}"; sleep 1; done < sample.csv|netcat -lk 9999