netcat -k -l 10080 | grep --line-buffered“GET /”|切-b6- | sed“s/HTTP.*//” 如果我向它提供一个日志文件,它工作得很好,但当给它真实的东西时,它不会输出。 所以我尝试添加 -u 来设置但仍然不起作用
如果喂食:
GET /test message :) HTTP/1.1
Host: 127.0.0.1
Accept-Encoding: identity
Connection: close
Content-type: application/x-www-form-urlencoded
Accept: text/plain
它应该输出:
test message :)
当通过 cat 发送时,效果很好。但当它从 netcat 获取真实的东西时,它就不起作用了。
预先感谢
它是缓冲 netcat 输出的剪切。所以 sed 没有得到它。
我建议用第二个 sed 替换来替换剪切,如下所示。
$ netcat -k -l 10080 | grep --line-buffered GET | sed -e "s/GET //" -e "s/ HTTP.*//"