shell - 来自curl输出的Grep状态代码

标签 shell curl grep

我在控制台中的curl输出如下所示。 shell 脚本中有很多curl 命令,我将循环执行“n”次。我想仅捕获/grep 那些不等于 200 OK 的状态并将其传递到文件。请推荐我。

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

最佳答案

您可以通过管道将curl 的输出传输到此awk:

awk '$2 != 200'

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

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

在输出中写入所有非 200 的 URL:

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

关于shell - 来自curl输出的Grep状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27222334/

相关文章:

grep - 从标准输入读取 grep 表达式

bash - 在 shell 中实现通配符扩展

php - 在循环中使用 curl 从数据库中获取的数字向客户端发送数据

bash - 带有变量比较的 if 语句在 bash shell 中不起作用

PHP cURL 如何添加用户代理值或克服服务器阻止 cURL 请求?

php - 返回响应后运行函数

linux - grep 显示每行出现的模式

git - magit-grep,如何包含或排除文件扩展名?

shell - 如何让 printf 生成 "+ 123"而不是 "+123"?

c++ - 从 C++ 调用 Matlab 函数