无法将Perl脚本的输出重定向到文件

约翰·伊莱恩

尽管这个问题听起来很愚蠢,但我仍然坚持。所述问题同时出现在Ubuntu 14.04和上CentOS 6.3

我正在使用一个Perl脚本netbps,该脚本在答案中(由RedGrittyBrick)发布:https : //superuser.com/questions/356907/how-to-get-real-time-network-statistics-in-linux-with-kb- mb字节格式和

上面的脚本基本上采用tcpdump的输出(该命令的详细信息在这里我们不需要知道),并以不同的格式表示它。请注意,脚本在流模式下执行此操作(即,输出是即时生成的)。

因此,我的命令如下所示:

tcpdump -i eth0 -l -e -n "src portrange 22-233333 or dst portrange 22-23333" 2>&1 | ./netbps.prl

在外壳/控制台上产生的输出如下所示:

13:52:09      47.86 Bps
13:52:20     517.54 Bps
13:52:30     222.59 Bps
13:52:41    4111.77 Bps

我正在尝试将此输出捕获到文件中,但是,我无法这样做。我尝试了以下方法:

  1. 重定向到文件:

tcpdump -i eth0 -l -e -n "src portrange 22-233333 or dst portrange 22-23333" 2>&1 | ./netbps.prl > out.out 2>&1

这将创建一个空out.out文件。没有输出出现在外壳/控制台上。

  1. 管道和grep:

tcpdump -i eth0 -l -e -n "src portrange 22-233333 or dst portrange 22-23333" 2>&1 | ./netbps.prl 2>&1 | grep "Bps"

没有输出出现在外壳/控制台上。

我对perl不太了解,但是在我看来,这就像一个缓冲问题-不确定吗?任何帮助将不胜感激。

重的

这是一个缓冲问题。将行添加STDOUT->autoflush(1)到netbps,它将起作用。

STDOUT通常是行缓冲的,因此末尾的换行符printf将触发缓冲区刷新,但是由于它被重定向到文件,因此它像任何普通文件一样被缓冲。你可以看到...

$ perl -e 'while(1) { print "foo\n"; sleep 5; }'

$ perl -e 'while(1) { print "foo\n"; sleep 5; }' > test.out

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将输出重定向到文件

来自分类Dev

将 Perl 命令输出重定向到文件

来自分类Dev

脚本将输出重定向到不兼容cron的文件

来自分类Dev

将错误输出重定向到脚本内的文件

来自分类Dev

Bash脚本:将慢速命令的输出重定向到文件

来自分类Dev

Cron Job:将Shell脚本输出重定向到文件

来自分类Dev

将脚本的输出重定向到文件中?

来自分类Dev

Shell脚本:将sql查询输出重定向到文件

来自分类Dev

将 sql 输出重定向到 shell 脚本中的文件

来自分类Dev

无法将crontab -l的输出重定向到文件

来自分类Dev

无法将控制台输出重定向到文件

来自分类Dev

如何将输出从交互式Perl脚本重定向到文件和控制台?

来自分类Dev

将标准输出重定向到文件

来自分类Dev

将Shell输出重定向到文件

来自分类Dev

将lldb输出重定向到文件

来自分类Dev

将xargs的输出重定向到文件

来自分类Dev

将输出从文件重定向到stdout

来自分类Dev

将Fabric输出重定向到文件

来自分类Dev

将彩色输出重定向到文件

来自分类Dev

将lldb输出重定向到文件

来自分类Dev

将iostat输出重定向到文件

来自分类Dev

脚本到grep xml文件,并根据结果将输出重定向到文件

来自分类Dev

从Perl脚本内部,您可以知道要将输出重定向到的文件的名称吗?

来自分类Dev

将脚本输出重定向到/ dev / tty1,还将捕获输出捕获到文件

来自分类Dev

将脚本输出重定向到文件时,防止输入输出转义序列

来自分类Dev

Bash脚本-如何将输出从bash脚本重定向到文件?

来自分类Dev

将函数的输出重定向到脚本输出

来自分类Dev

将Shell脚本中的echo输出重定向到日志文件

来自分类Dev

在Linux中,如何将脚本中的墙输出重定向到文件?

Related 相关文章

热门标签

归档