curl + awk
curl -s https://www.cbr.ru/scripts/XML_daily.asp | awk -F '</Valute>' '{for (i=1; i<=NF; i++) if($i ~ /USD|EUR/) print substr($i, index($i, "CharCode")+9,3)" "substr($i, index($i, "Value")+6,7)}' 2>/dev/null
wget + awk
wget -qO- https://www.cbr.ru/scripts/XML_daily.asp | awk -F '</Valute>' '{for (i=1; i<=NF; i++) if($i ~ /USD|EUR/) print substr($i, index($i, "CharCode")+9,3)" "substr($i, index($i, "Value")+6,7)}' 2>/dev/null
Perl
perl -MLWP::Simple -e '$_=get("https://www.cbr.ru/scripts/XML_daily.asp");while(m/(USD|EUR).+?Value>([^<]+)/g){print "$1 $2\n"}'
Python
python3 -c 'import requests,re;print("\n".join([" ".join(i.groups()) for i in list(re.finditer(r"(USD|EUR).+?Value>([^<]+)", requests.get("https://www.cbr.ru/scripts/XML_daily.asp").text))]))'
PowerShell
# вариант 1 (RegEx)
(Invoke-WebRequest -UseBasicParsing -URI 'https://www.cbr.ru/scripts/XML_daily.asp').Content | Select-String '(USD|EUR).+?Value>([^<]+)' -AllMatches | foreach {$_.Matches.Groups[1,2,4,5].Value}
# вариант 2 (XML/XPath)
([xml](Invoke-WebRequest -UseBasicParsing -URI 'https://www.cbr.ru/scripts/XML_daily.asp').Content).SelectNodes('//Valute[CharCode="USD" or CharCode="EUR"]') | ft Name,Value
JavaScript (Node.js)
node -e "https.get('https://www.cbr.ru/scripts/XML_daily.asp',r=>{s='';r.on('data',d=>s+=d);r.on('end',()=>[...s.matchAll(/(USD|EUR).+?Value>([^<]+)/g)].forEach(e=>console.log(`${e[1]} ${e[2]}`)))})"