1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/env bash want=$1; shift for file in "$@"; do IFS=/ read -r type murl extra <<<"$file" url=$murl url=${url//^2F//} url=${url//^3A/:} url=${url//^3D/=} url=${url//^5E/^} base=$type/$murl spec="$type|$url|$extra" printf '%s\n' "${!want}" done