小编tom*_*zke的帖子

如何grep netcat输出

我正在尝试从 grep 实时文本流netcat,但它对我不起作用:

netcat localhost 9090 | grep sender
Run Code Online (Sandbox Code Playgroud)

什么都不返回,但我相信它应该。

如果我将netcat输出重定向到一个文件并添加一些延迟(模拟真实环境) - 那么它的工作原理:

$ (sleep 5; cat netcat_output; sleep 5) | grep sender

{"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data": "shuttingdown":false},"sender":"xbmc"}}
Run Code Online (Sandbox Code Playgroud)

我也尝试添加--line-buffered但没有成功。

我做错了什么?

编辑:

我注意到同样的问题sed,输出为空。

但是,例如,hexdump将文本转换为十六进制实时:

$ netcat localhost 9090 | hexdump -C
00000000  7b 22 6a 73 6f 6e 72 70  63 22 3a 22 32 2e 30 22  |{"jsonrpc":"2.0"|
00000010  2c 22 6d 65 74 68 6f 64  22 3a 22 50 6c 61 …
Run Code Online (Sandbox Code Playgroud)

grep netcat

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

grep ×1

netcat ×1