You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux bash下如何将指定用户组内的所有用户逐行单独显示

解决方案

你可以直接用以下任意一种Linux命令行实现需求:

方案1:单awk命令实现(无需提前grep,一步完成)

awk -F: '/^visitors:x:1011:/{split($4,a,",");for(i in a) print a[i]}' /etc/group

逻辑说明:用冒号作为字段分隔符,匹配到visitors组对应的行后,将第四个字段(也就是所有成员的逗号拼接字符串)按逗号拆分为数组,逐行输出数组元素即可。

方案2:基于你现有grep命令改造,更易理解

grep 'visitors:x:1011:' /etc/group | cut -d: -f4 | tr ',' '\n'

逻辑说明:

  1. 原有grep命令拿到visitors组的整行内容
  2. cut -d: -f4 切掉前缀,只保留冒号分隔的第四段成员列表
  3. tr ',' '\n' 将所有逗号替换为换行符,实现每个用户名单独占一行的效果

如果你的实际返回末尾有示例里的etc..多余内容,只要在命令末尾加过滤规则即可,比如追加 | grep -v ' etc\.\.' 就能删掉这行无效内容。

内容的提问来源于stack exchange,提问作者Mikail Nicholas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:24:04