grep的所有状态除了“200”从卷曲输出

问题描述:

矿的

壳牌脚本有卷曲的命令的“n”的数量和其输出将被显示如下:grep的所有状态除了“200”从卷曲输出

“n”个的状态数将被显示基于我的“for循环”。

从这个输出我希望grep除“HTTP/1.1 200 OK”之外的所有状态,然后将它写入文件。请帮助我。我被卡住了。

upload completely sent off: 74 out of 74 bytes 
HTTP/1.1 500 Internal Server Error 
Content-Security-Policy: 
Content-Type: text/plain 

HTTP/1.1 200 OK 
Content-Security-Policy: default-src 'self' 
Content-Type: text/plain 
+0

所以你想要的输出将只是第一个“块”的消息?祝你好运。 – shellter 2014-12-02 23:44:13

+0

是的,我想只捕获像这样的“HTTP/1.1 500内部服务器错误”而不是“HTTP/1.1 200 OK” – Jams 2014-12-02 23:45:40

+0

你最好的选择是专门包括你期望的输出。现在我不知道你是否想要1行输出或3。祝你好运。 – shellter 2014-12-03 01:47:16

,如果你想提取那些不包含200 Status“块”,grep的是不是正确的工具,因为它基于线匹配。

给这个只有一行一试:

awk -v RS="" '!/ 200 OK/ input> output 

如果你只是想抓住这些状态线,E.g。 HTTP/1.1 500 Inter....你可以尝试:

grep -P 'HTTP/1\.1(?!\s*200 OK)' input 
+0

第二个命令将grep非200代码? – Jams 2014-12-03 01:25:06

+0

你测试过了吗? – Kent 2014-12-03 08:17:19

+0

是的,谢谢肯特 – Jams 2014-12-03 18:50:14