通常在Linux命令中,您可以指定另一个同时运行的命令:
ls | grep "sys"
例如,。在我的情况下,我有这个命令:
urlsnarf -i wlan0
我可以像这样编辑它来显示过滤后的输出:
urlsnarf -i wlan0 | cut -d\" -f4
但我也希望将输出保存到文件中,同时在控制台中打印文本,以便我这样编辑:
urlsnarf -i wlan0 | cut -d\" -f4 | tee output
但既没有输出文件也没有打印输出。有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
我想这里发生的事情是管道正在被缓冲。我之前没有见过urlsnarf
,但看起来这是一个持续的监控过程。根据以下帖子,您无法轻松阻止管道完全缓冲:
How to make output of any shell command unbuffered?
从答案中链接的文章有一个很好的解读:buffering in standard streams