我的Shell脚本有“n”个curl命令,其输出显示如下:
“n”状态将根据我的“for循环”显示。
从这个输出我想要除了“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 :(得分:1)
如果你想提取那些"块"哪个不包含200 Status
,grep不是正确的工具,因为它可以进行基于行的匹配。
试试这个单行:
awk -v RS="" '!/ 200 OK/ input> output
如果您只想抓住这些状态行,例如。您可以尝试HTTP/1.1 500 Inter....
:
grep -P 'HTTP/1\.1(?!\s*200 OK)' input