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

如何在Shell中用逗号分隔将用户组列表输出为单行?

Shell用户组列表逗号分隔单行输出方法

你原有脚本的问题是echo命令默认会在输出末尾追加换行符,同时每输出一个组就加一个逗号会导致末尾多一个多余逗号,可以用以下几种方法实现需求:

方案1:最短实现(直接替换空格)

groups输出的用户组默认以空格分隔,直接用tr命令替换空格为逗号即可:

groups | tr ' ' ','

方案2:修改原有循环逻辑

如果需要保留循环写法,可以先拼接字符串再去除末尾逗号:

res=""
for group in $(groups)
do
    res="$res$group,"
done
# 去除末尾多余的逗号后输出
echo "${res%,}"

方案3:awk自动处理分隔符

用awk设置输出分隔符为逗号,自动避免末尾多余逗号问题:

groups | awk '{$1=$1}1' OFS=','

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 15:06:02