GNU 并行回显作业号
GNU Parallel echo job number
所以我有这个代码:parallel --jobs 5 curl --write-out '\n %{http_code}\n' --silent --head --output /dev/null https://example.com/id={} ::: {427240690783..427240690793}
其中 returns 10 批 404。
如果 HTTP 响应代码是 200,我想回显当前作业迭代 ID,显示在 {} 中。我将如何回应这些?
抱歉,我是 GNU 新手。
当命令变得如此复杂时,我通常会 make 函数:
doit() {
curl --write-out '\n %{http_code}\n' --silent --head --output /dev/null https://example.com/id=""
}
export -f
parallel doit ::: {427240690783..427240690793}
这是因为很容易测试该函数对一个输入是否正确。当它这样做时,您调用 GNU Parallel 来调用该函数。
在这里你可能想要这样的东西:
grep200() {
status=$(curl --write-out '%{http_code}' --silent --head --output /dev/null "");
if [ $status == 200 ] ; then
echo "";
fi;
}
export -f grep200
parallel grep200 https://example.com/id={} ::: {427240690783..427240690793}
所以我有这个代码:parallel --jobs 5 curl --write-out '\n %{http_code}\n' --silent --head --output /dev/null https://example.com/id={} ::: {427240690783..427240690793}
其中 returns 10 批 404。
如果 HTTP 响应代码是 200,我想回显当前作业迭代 ID,显示在 {} 中。我将如何回应这些?
抱歉,我是 GNU 新手。
当命令变得如此复杂时,我通常会 make 函数:
doit() {
curl --write-out '\n %{http_code}\n' --silent --head --output /dev/null https://example.com/id=""
}
export -f
parallel doit ::: {427240690783..427240690793}
这是因为很容易测试该函数对一个输入是否正确。当它这样做时,您调用 GNU Parallel 来调用该函数。
在这里你可能想要这样的东西:
grep200() {
status=$(curl --write-out '%{http_code}' --silent --head --output /dev/null "");
if [ $status == 200 ] ; then
echo "";
fi;
}
export -f grep200
parallel grep200 https://example.com/id={} ::: {427240690783..427240690793}