忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/11    10« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »12

jq コマンドが使えない時に泣く泣くなんとかする方法

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

jq コマンドが使えない時に泣く泣くなんとかする方法

jq コマンドが便利だ。日本語で解説している記事:jq コマンドを使う日常のご紹介 - Qiita

だが、見ての通りどこででも使えるコマンドではないのが最大の欠点である。使いたいのに使えない時、ひよこがよく使うコマンドをいくつか。

tr コマンド (ITpro さんの解説)

まずはこれで各要素を行に分割する。$ echo jsonfile.json | tr ',' '\n' とでもしてやればよい。

python -m json.tool

python が入っているならこっちを使った方が楽。$ echo jsonfile.json | python -m json.tool これで整形してもらえる。

grep コマンド (ITpro さんの解説)

これで必要なものだけを抜き出す。$ echo jsonfile.json | tr ',' '\n' | grep 'age' 等とすれば age だけ抜き出せる。重ねがけなどもできるのでうまく使う。

head コマンド / tail コマンド (ITpro さんの解説 head / tail)

これでさらに必要なものだけを絞り込む。tail -200 catalina.out 等とやると末尾200行だけ抜き出せる。head -200 catalina.out だと逆に先頭200行だけ抜きだせる。json を力技で読み取る時以外にも利用できるのでおいしい。

8行目だけ欲しいの、という場合は head -8 catalina.out | tail -1 だ。


なお、このような小手先では解決できない場合、jq をインストールするなり、適当なブラウザの開発者ツールで読み解くなり、専用のパーサを頑張って作るなりした方が良いと思う。あくまで即興用。

PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R