Eu recomendo usar jq
para todas as operações de processamento de texto relacionadas ao JSON. É claro que você poderia gerenciar a análise de JSON com grep
, mas o IMO não é o caminho a seguir.
Exemplo rápido assumindo que o tempo limite é igual ao código de erro 1001. O número retornado é o número de tempos limite que ocorreu:
for ((i=1;i<=1000000;i++)); do
curl --header "Authorization: Bearer some token here" "http://localhost:8080/v2/line?&clientid=120"
done \
| jq '.[].error.errorCode == 1001' | grep -c true
Como alternativa, se você quiser usar apenas o grep (isto assume que a resposta do JSON é uma única linha):
for ((i=1;i<=1000000;i++)); do
curl --header "Authorization: Bearer some token here" "http://localhost:8080/v2/line?&clientid=120"
done \
| grep -wcoE '"errorCode":1001'