HTMLでJSONに一致する正規表現

HTMLでJSONに一致する正規表現

したがって、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'

おすすめ記事