シェルワンライナー160本ノック問題100
問題100 しりとり順に並べる
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
単語をしりとり順に並べる問題だった。grepを使ってどうにかしようとしたがどうにもならなかった。
解答例は
join -j9 shiritori.txt{,} | grep '\(.\) \1' | tsort 2>/dev/null
となる。join -j9は9行目をキーにするという意味だがここでは1行目以外なら多分なんでもよい。ブレース展開で同じファイルを2回指定して2つの単語の組み合わせをすべて挙げた。そのあとgrepでつながっている単語を抜き出し、トポロジカルソートtsortでソートしてしりとりを構成した。答えが複数あるためエラーが出るのを捨てている。