したがって、JSON-HTML Webページ次のパターンで行のみをフィルタリングしたいと思います。
"realname": "SOME_VALUE_COMES_HERE",
私はこれを試しました:
curl https://www.mediawiki.org/w/api.php?action=query&meta=siteinfo&siprop=specialpagealiases&formatversion=2 -s |
grep -oP '"realname": "[A-Za-z0-9]*",' |
sort -u > special_page_names.txt
ファイルが作成されましたが空です。私はコマンドで何を間違っていますかgrep -oP
?
修正する
私はそれを使用せずにjq
インストールできますが、「すべての基本」アプローチを好む。
ベストアンサー1
ウェブサイトでは、format=json
次のオプションを提供していますjq
。
curl 'https://www.mediawiki.org/w/api.php?action=query&meta=siteinfo&siprop=specialpagealiases&formatversion=2&format=json' \
| jq -r '.query | .specialpagealiases[].realname'