gpt4 book ai didi

bash - 如何在按最大长度排序后回显字符串

转载 作者:行者123 更新时间:2023-11-29 09:31:50 26 4
gpt4 key购买 nike

所以我只是在学习 bash,现在我正在尝试编写一行代码来解决一些问题。所以现在写下我正在列出 stampede 中的所有用户并尝试获取最长字符串的长度和名称。所以这就是我所在的位置

getent passwd | cut -f 1 -d: | wc -L 

getent passwd - (也是获取userid列表),cut命令获取第一个userid然后wc -L获取最长的长度。现在我想弄清楚我该如何回应?所以任何关于这方面的意见都会很棒,谢谢!

最佳答案

要获取名字最长的用户的名字,使用:

getent passwd | awk -F: '{longest=length($1)>length(longest)?$1:longest} END{print longest}'

工作原理

  • -F:

    告诉 awk 使用冒号作为字段分隔符。

  • longest=length($1)>length(longest)?$1:longest

    对于每一行输入,都会执行此语句。它将三元语句的结果分配给变量 longest:

    length($1)>length(longest)?$1:longest

    此语句测试条件 length($1)>length(longest)。其中,length($1) 是当前用户姓名的长度,length(longest) 是之前看到的最长姓名的长度。如果当前名称更长,则三元表达式返回当前名称 $1。否则,它返回以前最长的名称,longest

  • END{打印最长}

    在我们完成读取文件后,这将打印最长的名称。

关于bash - 如何在按最大长度排序后回显字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28493047/

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