为了账号安全,请及时绑定邮箱和手机立即绑定

Bash检查用户是否存在,如果存在,则在用户名中添加数字

Bash检查用户是否存在,如果存在,则在用户名中添加数字

哈士奇WWW 2021-04-10 12:21:39
如果存在用户名,则必须在该用户名上添加数字2,如果该用户名也存在,则必须在其上添加数字3,依此类推...(因此,如果John存在,则程序必须添加John2,并且如果存在)同样,它也必须添加John3等。)然后,我记住的每个用户都会被记住。在bash中最短最简单的方法是什么?
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

一些有用的部分:


for n in "" {9..11}; do egrep -q "^stefan${n}\b" /etc/passwd && echo "name${n} " || echo "unknown name${n}"; done 

name 

unknown name9

unknown name10

unknown name11

遍历数字,查找(可能生成的)用户名,如果知道或未知,则以不同的方式进行反应,粘贴名称和数字。


查看完整回答
反对 回复 2021-04-16
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

假设users.txt是:


joe

jimmy

foo

jimmy

bar

jimmy

然后你可以使用awk


awk 'cnt[$0]++{$0=$0 cnt[$0]-1} 1' users.txt

产生输出:


joe

jimmy

foo

jimmy1

bar

jimmy2


查看完整回答
反对 回复 2021-04-16
  • 2 回答
  • 0 关注
  • 336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信