来自curl输出的grep状态代码

时间:2014-12-01 05:42:46

标签: shell curl grep

我在控制台中的卷曲输出如下所示。 shell脚本中会有很多curl命令,我将循环遍历" n"倍。我想捕获/ grep只有那些不等于200 OK的状态并将其传递给文件。请建议我。

HTTP/1.1 200 OK
Authorization: Bearer 2d141ec6-1ac7-458a-96f3-318af10ae3b9

2 个答案:

答案 0 :(得分:1)

你可以将curl的输出管道输出到这个awk:

awk '$2 != 200'

或者,您可以使用此curl命令获取状态:

curl -Is -w "%{http_code}" -A "Chrome" -L "http://domain.com" -o /dev/null

要在输出中写入非200的所有网址:

url='http://domain.com/'
[[ $(curl -s -w "%{http_code}" -A "Chrome" -L "$url" -o /dev/null) != 200 ]] && echo "$url"

答案 1 :(得分:1)

-v选项会反转匹配

$ grep -v "^HTTP/1.1 200"