我正在创建 bash 脚本来检查给定 URL 返回的 HTTP 代码。我有大约 50k 个 JSON 格式的 URL 文件;这是第一个(文件头):
"responseHeader":{
"status":0,
"QTime":7336},
"response":{"numFound":50032,"start":0,"maxScore":1.0,"docs":[
{
"documentURL":"http....."},
and so on
我需要遍历这个文件,检查每个 URL 返回的 HTTP 代码,并将其保存在另一个文件中,格式为 HTTP 代码 + URL。到目前为止,我只有这个 curl 命令来检查 http 代码
curl -s -o /dev/null -I -w "%{http_code}\n" URL >> httpCodeFile
对于我应该使用哪些工具/方法(grep、awk、sed),我将不胜感激。
我创建了这个函数来从文件中获取 URL,但我确定语法:
function checkHTTP(){
cat URL_list | while read line
do
var = $(grep documentURL) URL_list
curl -s -o /dev/null -I -w "%{http_code}\n" ${var} + " TEST " >> httpCodeFile
done
}
尽管许多 URL 应该返回 404,但我只得到 000。
jq
+解决方案的正确方法curl
:样品有效
input.json
:加工:
结果
http_codes.out
内容: