2014-12-02 68 views
0
礦的

殼牌腳本有捲曲的命令的「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

回答

1

,如果你想提取那些不包含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