Ansatzの備忘録

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

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

問題22 ダミーのFQDNの生成

タイトルの通りの問題である。ブレース展開を使うだけだったが、それっぽい名前のFQDNを作るというのでちょっと悩んだ。普段たくさんURLを目にしている割にこういう状況ではぱっとでてこないのが悩ましい。

本の正解例は

echo {mail,blog,eng,www,help,sub,ns,}.{robotics,ojisan,yamada,ueda,nakamura,tashiro,blacknon}.{co.jp,com,tech,org,jp,go.jp,com.tw,asia} | tr ' ' '\n' | sort -R | head -n 100 | sed 's/^\.//'

tr というコマンドには全くなじみがなく、よくわからない。仕様を見ていると一文字同士の変換に使うことを想定していそうな感じがする。

When a character appears more than once in SET1 and the corresponding characters in SET2 are not all the same, only the final one is used.  For example, these two commands are equivalent:

     tr aaa xyz
     tr a z

すくなくとも sed と同じ感覚で使ってはいけないというのはわかった。

head は先頭から指定した行数を出力するコマンド。