Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

shufコマンドでランダムテイク

実際のところ

shufは行を要素としてランダムに散らすコマンドです。
これの"-n 1"をつかうと、一行だけ取り出せます。

$ printf "平社員\n社長\n" | shuf -n 1
社長
$ printf "平社員\n社長\n" | shuf -n 1
平社員


"-e"のあとに続く引数を要素として扱います。
これと先ほどの"-n 1"を組み合わせればランダムテイクができます。
一行に押しこみたいときなんかで有効ですね。

$ echo あなたは$(shuf -n 1 -e 平社員 社長)です
あなたは平社員です

$ echo あなたは$(shuf -n 1 -e 平社員 社長)です
あなたは社長です

参考もと

  • man shuf