![linux下如何删除一行的一部分?](https://linux22.com/image/160335/linux%E4%B8%8B%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E4%B8%80%E8%A1%8C%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%EF%BC%9F.png)
假设我有这样的文件
username:::
username2:56+4564894765:usersfsmas:fdggfdgd:
username3:::
username4:::
我想随机返回一个不带“:”的用户名。请注意,用户名上不能有“:”,并且第一个“:”之后可以有任何字符
所以基本上我想要
$ ./getRandom file
username
$ ./getRandom file
username3
我想我可以用一些正则表达式来 grep 不知道如何
答案1
要仅获取用户名,cut -d: -f1
要获得随机线,请使用shuf -n 1
所以:
cut -d: -f1 file | shuf -n 1