#!/usr/bin/env bash set -e -u -o pipefail params=( action=query list=categorymembers cmtitle=Category%3AProgramming_Tasks cmprop=title cmlimit=1500 format=json ) url=https://rosettacode.org/w/api.php?$(IFS='&'; echo "${params[*]}") more='' while true; do json=$(curl -Ls "$url$more") <<<"$json" jq -r '.query .categorymembers | .[] .title' cmcontinue=$(<<<"$json" jq -r .continue.cmcontinue) [[ $cmcontinue == null ]] && break more="&cmcontinue=$cmcontinue" done