【发布时间】:2017-05-30 22:52:44
【问题描述】:
这是一个用于 HTTP 状态码的简单 bash 脚本
while read url
do
urlstatus=$(curl -o /dev/null --silent --head --write-out '%{http_code}' "${url}" --max-time 5 )
echo "$url $urlstatus" >> urlstatus.txt
done < $1
我正在从文本文件中读取 URL,但它一次只处理一个,花费太多时间,GNU 并行和 xargs 也一次处理一行(已测试)
如何同时处理 URL 进行处理以提高时间?换句话说,URL 文件的线程而不是 bash 命令(GNU 并行和 xargs 这样做)
Input file is txt file and lines are separated as
ABC.Com
Bcd.Com
Any.Google.Com
Something like this
。
【问题讨论】:
-
从文件中读取一行并不花时间。
cURL正在花时间...看看是否可以将curl作为后台进程运行。 -
这是我经常使用
parallel做的事情。如果你展示你对parallel和xargs的尝试,也许有人会发现一个小问题,可以解决。
标签: bash curl xargs gnu-parallel