キラキラネームもあるよ。
成果物
引数など詳しくは上記参照。
デモ
ランダム生成する
$ jfn.sh みちのぶ 道信 あづみ 亜津魅 としひで 寿秀 いくや 生弥 ふみと 史音 かいどう 凱道 りょうへい 澪平 せいら 惺一空 れんげ 漣花 かずひで 一秀 えいか 瑛海 ぜんた 善汰 ほうせい 峯生 すみか 澄海 りえ 理愛 ともかず 友和 うみほ 海朋 らぶ 羅舞 ひよな 妃陽菜 きりん 輝凛 きあら 絆愛 かずと 一颯 かいら 海萊 とうじ 燈路 るね 輝音 もあ 萌夢 ひろの 広埜 こうが 空雅 まなえ 愛永 ゆつき 唯月
引数 | 初期値 | 概要 |
---|---|---|
-n |
30 |
出力件数 |
-s |
* |
性別。m ,f ,c ,mc ,fc ,cm ,cf ,M (m +mc +cm +c ),F (f +fc +cf +c ),C (c +cm +mc +cf +fc ),* (m +f +c +mc +fc +cm +cf ) |
-r |
r |
出力件数における性別ごとの比率。r ,e ,E 。r はランダム。e ,E は男女比1対1。奇数時はc を1件追加。e (m +f +c ), E (M +F +C ) |
取得する(曖昧な条件指定)
$ jfn.sh s '太一' たいいち 太一 たいが 太一雅 たいち 太一 たいち 太一知 たいち 太一智 たいちろう 太一朗 たいちろう 太一朗 たいちろう 太一郎 たいと 太一人 たいと 太一斗 たいよう 太一陽 たいら 太一良 たかし 太一士 だいご 太一吾 だいち 太一 だいち 太一地
取得する(正確な条件指定)
$ jfn.sh e -f 'わかば' -f '若' わかば 若羽 わかば 若春 わかば 若杷 わかば 若芭 わかば 若葉
引数 | 初期値 | 概要 |
---|---|---|
-s |
* |
性別。m ,f ,c ,mc ,fc ,cm ,cf ,M (m +mc +cm +c ),F (f +fc +cf +c ),C (c +cm +mc +cf +fc ),* (m +f +c +mc +fc +cm +cf ) |
-f |
前方一致。 | |
-b |
後方一致。 | |
-p |
部分一致。 | |
-e |
完全一致。 | |
-r |
正規表現。 | |
-F |
前方一致(否定)。 | |
-B |
後方一致(否定)。 | |
-P |
部分一致(否定)。 | |
-E |
完全一致(否定)。 | |
-R |
正規表現(否定)。 |
苦労した点
実行時間
ランダム生成するときの実行時間を改善した。execution_time.md
件数 | 時間 |
---|---|
5930 | 47.058s |
30 | 1.515s |
1 | 1.319s |
- 最初はyk/oo系のTSVで実行していた
- 行数が多く、
while
ループ回数が増え、遅くなった- yk/om系のTSVを作成して行数を減らした
while
でなくxargs
を使ってループをコマンドに置き換えた
- 行数が多く、
まだ遅いが、2秒以内での応答はクリアした。シェルでこれ以上の高速化はムリだと思う。
所感
前に作った名字のと組み合わせれば、日本人のフルネームをランダム生成できるはず。
でもその前に、抽出したTSVをHTMLにしたい。
対象環境
- Raspbierry pi 4 Model B
- Raspbian buster 10.0 2019-09-26 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux