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

标签 linux bash linux-mint

如果用户名存在,我必须向该用户名添加数字 2,如果该用户名也存在,我必须向其添加数字 3,依此类推... (因此,如果 John 存在,则程序必须添加 John2,如果他也存在,则必须添加 John3 等。)当然,我添加的每个用户都会被记住。

在 bash 中执行此操作的最短且最简单的方法是什么?

最佳答案

假设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

关于linux - Bash 检查用户是否存在,如果存在则在用户名中添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50193888/

相关文章:

linux - 如何删除具有路径模式的所有文件

c++ - 如何从终端读取 .txt 文件,然后从文件中提取内容?

Linux - 按名称的一部分排序文件(无分隔符)

linux - 在 bash 脚本中使用 "alternate screen"

linux - 给程序相同的输入文件 100 次

linux - AMD-Vi : Unable to read/write to IOMMU coun/Problem loading X. 509 证书 -65

linux - 在 R 中安装与 stringr 包相关的包时出错

windows - Linux 相当于 Windows 管道

linux 套接字回调

linux - Sudo 在 linux mint 17.3 上损坏