$RANDOM変数の利用 範囲の限定と並び替え、重複について

bashで$RANDOM変数を使った時の話

なんでもいいから順番ではない乱数を使いたい
そんなときは、$RANDOM変数を使ってみよう。

$RANDOM変数を使えば0~32767で、ランダムに数字が現れる。
これを使えば、打ち込むたびに違う数字が出せるし、
100個や200個だって、まとめてランダムな数字を出せる

範囲を限定する計算

0~32767って、そんな大きい数の乱数使わない。
もっと100までの中とか、最大を小さくしたい!
という場合もあると思います。

そういう場合は何を使ったらいいの?と自分も思いました。
しかしそんなものを用意するんじゃなくて、

$RANDOM変数をうまく変形させて、上限を変えるんですね!

たとえば、
上限を100にしたいと思ったら
$RANDOM変数に101かけて32768で割るとかですね!

32767を32768で割れば、最大でも1にはならない
つまり、0~0.999…までになりますから
それに101をかけてあげれば101にはならない
100までの何かしらの数字が出てきます。

わかりずらいけど、頑張って考えてたら自分も納得できるようになりました。

並び替えて、重複を消す

並び替える。重複を消す。
それぞれにコマンドが用意されていますので見ていくと

並び替えは

sort -n ファイル名</br>


重複を消すには

uniq ファイル名</br>


で、可能です。

オプションを付ければ、もっといろんな並び替え方、重複のないのだけ表示とかもできます。

ここで間違えやすいのが、ソートされていないファイルは
重複消してもあまりうまくいかないことです。

消えてないのがチラホラあったりして

なので、ソートしてから削除する必要があるのですが
このコマンド、1回で書くことができます。

sort -n ファイル名 | uniq</br>


と、書いてあげれば、一回でできたのでぜひ使ってみてください。