38
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

jqをMacに入れるためだけに毎回四苦八苦するおまえへ

Last updated at Posted at 2023-07-19

どうも、おまえこと若松です。

PC交換や転職等でMacbookのセットアップをする機会があるかと思いますが、1~2年に一回とかなので、まー忘れます。
特にコマンドラインでインストールするものはまず覚えてない。

その代表格がjqコマンドです。
毎回使い始めてちょっとしたあたりで、「あ、json整形してーな」と思うわけです。

インストールチートシート

細かく見たい方はここを読み飛ばしてください。
XXXXXは読み替えてください

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/XXXXX/.zprofile         
$ eval "$(/opt/homebrew/bin/brew shellenv)"
$ brew install jq

jq コマンドとは

jqコマンドはjsonの整形、加工ができる便利なコマンドです。
1行になって見にくいjsonを改行のある見やすい表示に変えたり、jsonの要素追加/削除して出力できたりと非常に使い勝手がよいです。
https://jqlang.github.io/jq/

インストール手順

Homebrewインストール

最初なので当然Homebrewも入っていません。
公式サイトに従ってインストールを行います。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

上記コマンドでインストールが完了すると以下2つのコマンドを実行するよう指示があります。
XXXXXはユーザー名なので適宜読み替えてください。(インストール完了後の指示には適切なXXXXXが入ったコマンド表示されています)

$ (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/XXXXX/.zprofile         
$ eval "$(/opt/homebrew/bin/brew shellenv)"

上記コマンド実行が完了すると brew コマンドが実行できるようになります。
以下コマンドでHomebrewのバージョンが出力されるか試してみましょう。

$ brew --version

jqインストール

Homebrewが使えるようになったので、brew コマンドでjqをインストールします。

$ brew install jq

以下コマンドでjqのバージョンが表示されることを確認しましょう。

$ jq --version

jqコマンドの使い方

公式チュートリアルにあるコマンドを試してみましょう。
最初にGitHubのAPIでjsonを取得します。

$ curl 'https://api.github.com/repos/jqlang/jq/commits?per_page=5'

jsonが表示されたかと思います。
このjsonを以下のコマンドでjqに入力してみましょう。

$ curl 'https://api.github.com/repos/jqlang/jq/commits?per_page=5' | jq '.'

色分けがされて見やすくなったjsonが出力されたかと思います。
次に以下のコマンドで5つある要素のうち最初の1つだけ取り出してみます。

$ curl 'https://api.github.com/repos/jqlang/jq/commits?per_page=5' | jq '.[0]'

まとめ

もう四苦八苦するなよ、おまえ!

38
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?