RosettaCodeData/bin/rcd-api-list-all-langs

30 lines
563 B
Bash
Executable File

#!/usr/bin/env bash
set -e -u -o pipefail
params=(
action=query
list=categorymembers
cmtitle=Category%3AProgramming_Languages
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' |
grep -E '^Category:[.a-zA-Z0-9]' |
sed 's/^Category://'
cmcontinue=$(<<<"$json" jq -r .continue.cmcontinue)
[[ $cmcontinue == null ]] && break
more="&cmcontinue=$cmcontinue"
done