Ansatzの備忘録

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

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

問題42 順序付きリストの整形

問題のファイルは

https://github.com/shellgei/shellgei160

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

順番をきちんと振りなおす問題だった。相変わらず具体的なワンライナーに落とし込むところまで届かない。

解答例は

cat item.md | awk '/^[0-9]\./{a++;$1=a".";print }/^#/{a=0}!/^[0-9]\./'

となる。最初のパターンで数字から始まる行をひっかけて、次のパターンではカウンタをリセットして、最後のパターンでは番号の振られていない行を ! をうまく用いて出力している。! は / / の前につけて用いるものらしい。