Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題54

問題54 JSONファイルからの抽出

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

JSONファイルから配列の要素を別ファイルへ抽出する問題だった。1つの処理単位を1つの行へまとめるという考えが足りてないせいでまた解けなかった。

解答例は

grep -o '{[^{}]*}' fruits.json | awk -F'"' '{print $0 | "jq >" $4".json"}'

となる。grep で処理したいデータを1行ごとに分けている。awk のパイプを用いている。仕様はおそらくシェルワンライナーで処理したいところをダブルクォートで囲って、awk で解釈したいところはそのまま書くのだろう。