Bashの私の出力は次curl
のとおりです。
object(\Response\)#1399 (3) {
["httpResponse"]=>
object(GuzzleHttp\Psr7\Response)#1084 (6) {
["reasonPhrase":"GuzzleHttp\Psr7\Response":private]=>
string(2) "OK"
["statusCode":"GuzzleHttp\Psr7\Response":private]=>
int(200)
["headers":"GuzzleHttp\Psr7\Response":private]=>
array(11) {
....
....
....
....
["status"]=>
string(2) "ok"
}
}
私のコードは次のとおりです
while read ID; do
curl -X -d "http://localhost/new.php?media_id="$ID"&submit=Submit"
done < ~/ids.txt
私もこれを追加しました:
curl -s -X -d "http://localhost/new.php?media_id="$ID"&submit=Submit" | grep -c 'string(2) "ok"'
出力はです1
。すべての出力を計算し、例を示したいと思います。Success : 12
答え1
次の方法でこれを実行できますgrep -c
。
f=0
s=0
while read ID; do
var=$(curl -X -d "http://localhost/new.php?media_id="$ID"&submit=Submit")
grep -q 'string(2) "ok"' <<<"$var" && ((s++))
grep -q 'string(2) "notok"' <<<"$var" && ((f++))
echo "$var"
done < ~/ids.txt
echo "Success : $s"
echo "Failed : $f"