gpt4 book ai didi

linux - 在 Linux 中显示计算机上的最短用户名和最大用户名

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:23 24 4
gpt4 key购买 nike

我正在尝试配置一个脚本来显示计算机上的所有用户、他们所属的组以及最短/最长的用户名。

我在第一部分设置了用户和组,但我无法计算出最短/最长的用户名

最佳答案

问题有点不清楚——用什么语言编写脚本?庆典?

如果是这样,字符串变量 $FOO 的长度可作为 ${#FOO} 使用。因此,例如要获得最长的用户名,您可以简单地执行以下操作:

grep -Eo '^([^:]+)' /etc/passwd | 
while read NAME
do
echo ${#NAME} ${NAME}
done |
sort -n | tail -1 | awk '{print $2}'

grep 命令在密码文件中查找用户名(从开头到第一个冒号的所有文本)。

while 循环输出名称的长度以及名称本身。

sort -n 按数字对 while 循环的输出进行排序。

tail -1 从排序后的输出中取出最后一行,这将是最大的数字。

awk '{print $2}' 打印输出的第二列,即名称。

除了使用 head -1 而不是 tail -1 之外,最短的名称将是相同的。

请记住,很可能会有平局。还有很多其他方法可以做到这一点,包括使用其他脚本语言。

关于linux - 在 Linux 中显示计算机上的最短用户名和最大用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29868890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com