このようなファイルがあるとしましょう。
username:::
username2:56+4564894765:usersfsmas:fdggfdgd:
username3:::
username4:::
「:」なしでランダムなユーザー名を返したいです。ユーザー名には「:」を使用できません。最初の「:」の後には任意の文字を続けることができます。
だから基本的に私が望むもの
$ ./getRandom file
username
$ ./getRandom file
username3
私は正規表現を使って方法がわからないと思います。
答え1
ユーザー名のみを取得するには、cut -d: -f1
任意の行を取得するには、次のようにします。shuf -n 1
だから:
cut -d: -f1 file | shuf -n 1