Windowsにjqコマンドをインストールして使う方法を調べたのでメモしておきます。ついでにWindows以外のインストール方法もまとめます。
jqとは?
jsonデータを解析して整形したり集計したり、値を抜き出したりできる便利ツールです。
https://stedolan.github.io/jq/
Windowsにjqをインストール
Windows用のパッケージマネージャーで「chocolatey」という物があるので、これを使います。(知らなかった)
https://chocolatey.org/
読み方は「チョコレーティ」です。「チョコレート風味」みたいな意味だそうです。この名前になった理由はよく分からない。
chocolateyをインストール
コマンドプロンプトを管理者モードで起動し、以下のコマンドを実行します。
C:\WINDOWS\system32>@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
chocolateyでjqをインストール
インストールしたchocolateyを使ってjqをインストールします。
いったんコマンドプロンプトを終了して再度管理者モードでコマンドプロンプトを立ち上げてから、以下のコマンドを実行します。
> chocolatey install jq … ↓途中で入力を求められるので「Y」を入力してエンターキーを押します。 Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint):
これでjqのインストールが完了しました。
jq公式サイトからexeファイルをダウンロードする
chocolateyを入れるのがめんどくさい、上手くいかないという人は、jq公式サイトからexeファイルをダウンロードするという方法もあります。
公式サイトトップページの「Download 1.6」を押して、ドロップダウンメニューの「Windows(64bit)」を選択するとexeファイルがダウンロードされます。

ダウンロードした「jq-win64.exe」を好き場所において、パスを通せばコマンドプロンプトから使う事ができます。
jqを使う
今回はTwitter APIのCLIツールtwurl の結果を見やすくしたかったので、試してみます。
twurl "/1.1/search/tweets.json?q=from%3ANasa%20OR%20%23nasa" | jq { "statuses": [ { "created_at": "Tue Oct 09 13:34:20 +0000 2018", "id": 1049654296592228400, "id_str": "1049654296592228353", "text": "RT @NASAaero: Are you at #BalloonFiesta? Today, from 6–11AM, visit the NASA pavilion and see how we are transforming aviation by developing…", "truncated": false, "entities": { "hashtags": [ { "text": "BalloonFiesta", "indices": [ 25, 39 ] } ], "symbols": [], "user_mentions": [ { "screen_name": "NASAaero", "name": "NASA Aeronautics", "id": 2734381938, "id_str": "2734381938", "indices": [ 3, 12 ] } ], "urls": [] }, "metadata": { "iso_language_code": "en", "result_type": "recent" }, ~(略)~
jsonが改行、インデントされて見やすくなりました。
textを抜き出してみる。
>twurl "/1.1/search/tweets.json?q=from%3ANasa%20OR%20%23nasa" | jq -r "{text: .statuses[].text}" { "text": "RT @NASASun: Wind launched in 1994 and is still sending back valuable data from Lagrange point 1! Over its 20+ years in space, Wind has tak…" } { "text": "RT @TomHall: #Timelapse of the\n\n@SpaceX Falcon 9 take off \n\nseen from Downtown LA.\n\n \n\n#\n\n#Rocket #LosAngeles #ILoveLA #MyDayInLA #NASA #…" } { "text": "RT @TomHall: #Timelapse of the\n\n@SpaceX Falcon 9 take off \n\nseen from Downtown LA.\n\n \n\n#\n\n#Rocket #LosAngeles #ILoveLA #MyDayInLA #NASA #…" }
うまくできました。
MacOSにjqをインストールする
MacOSの場合はbrewを使ってインストールします。
$ brew install jq
CentOSにjqをインストールする
CentOSの場合はyumを使ってインストールします。
$ sudo yum -y install epel-release
$ sudo yum -y install jq
Ubuntuにjqをインストールする
Ubuntuの場合はaptを使ってインストールします。
$ sudo apt -y update
$ sudo apt -y install jq
Linux系OSで実行ファイルをダウンロードする(yumやaptが使えない場合)
レンタルサーバー等でパッケージマネージャーが使えない場合は実行ファイルを直接ダウンロードする事もできます。
以下のコマンドで実行ファイルをダウンロードして使います。
$ sudo curl -L "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64" -o /usr/local/bin
/usr/local/binへのアクセス権限が無くここに配置できない場合は、自分のユーザーのホームディレクトリ以下のどこかに置いて使いましょう。
以上です!
コメント/ピンバック