Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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