シェルワンライナー160本ノック問題41
問題41 注釈のチェック
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
文中につけた目印のタグと注釈のタグの不一致を探す問題だった。とりあえずすべてのタグを抜き出して重複するものを削除すれば不一致のものが抜き出せるだろうなと考えたが、実際にどうワンライナーを書けばよいかはわからなかった。
解答は
cat annotation.md | grep -oE '\[\^[^[]+\]:?' | sed 's/]$/] 目印/' | sed 's/:$/ 注釈文/' | sort | awk '{print $2,$1}' | uniq -f1 -u
となる。結局思いつかなかったのは uniq のところだったわけだ。-f1 は1列目を無視するオプションである。