created: 2019-09-28T03:26:35.000Z

jq で parseInt

jqで文字列から数値に変換したいときは tonumber 関数を使う

こんな感じで使える

  • select 関数で条件に合うものだけにフィルタ
    • IDが文字列で 5 から始まるもの
    • 数値比較でランキングが3以下のもの
  • jq -s . でまた配列に戻している
  • sponge コマンドを使って元のファイルに書き出し
$ cat /tmp/_.json \
  | jq '.[] 
    | select(.id|test("^5")) 
    | select((.ranking|tonumber) <= 3)' \
  | jq -s . \
  | sponge /tmp/_.json

参考