Ansatzの備忘録

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

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

問題55 JSONログの比較

問題のファイルは

https://github.com/shellgei/shellgei160

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

問題が難しくて今回は手も足も出なかったが、解答を読んでも最初は理解できなかった。与えられたファイルがてっきり2行しかないものだと問題文を読んで勘違いしていたせいで解答が理解できなかった。

解答例は

$ cat watch_log.json | sed '2,$p;$d' | paste -d , - - | sed 's/.*/[&]/' | while read -r l;do jq -r '"diff: \"\(.[0].timestamp)\" \"\(.[1].timestamp)\""' <<<$l; diff <(jq -r '.[0].output' <<<$l) <(jq -r '.[1].output'<<<$l);done

となっているが、手元の環境で実行したところコマンドが見つかりませんと出てきた。ここで用いられているコマンドはすべてインストールされているにもかかわらずなぜこうなるのかがわからない。今回の問題はよくわからないことがとても多い。