Evernote で WebClip したノートから、タイトルと URL を抜き出して JSON ファイルを作る必要があったのでやり方をメモしておきます。
使用するのは、こちらの yq
というツールです。
- kislyuk/yq: Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
- yq documentation
Mac では brew でインストール可能です。
$ brew install python-yq
インストールするのは python-yq
であり、yq
とは異なるのでご注意ください(結構悩んだ)。
Evernote からエクスポートした Enex ファイルを用意して、以下のコマンドを実行します。
$ cat Evernote.enex | xq | jq '.["en-export"].note | map({title, "url": .["note-attributes"]["source-url"]})' > Evernote.json
すると、以下のようなファイルが出力されます。
[ { "title": "タイトル1", "url": "https://example.com/1" }, { "title": "タイトル2", "url": "https://example.com/2" } ]
このコマンドは結構性能がよく、1GB 超えのファイルもサクッと処理が終わりました。
複数の JSON ファイルが出来た場合は、以下のコマンドで1つにまとめることが可能です。
$ jq -s '[.[] | .[]]' *.json > urls.json