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

RHEL系统如何获取目录所属组名并将其保存至shell变量

你当前的stat+grep+sed的方案不是最优解,stat命令本身就支持自定义格式化输出,可以一步直接拿到目录所属组名,不需要额外管道做文本解析。

最优方案:使用stat内置格式化参数

绝大多数GNU/Linux发行版(比如CentOS、Debian、Ubuntu等)直接用以下命令即可输出纯组名:

stat -c "%G" /ftp/PizzaFolder

命令执行后会直接输出PizzaGroup,没有多余内容,完全满足脚本使用要求。
如果是MacOS系统,stat参数语法略有区别,用以下命令即可:

stat -f "%Sg" /ftp/PizzaFolder

这个方案的优势是不需要额外进程管道,也不依赖stat默认输出的格式,是官方支持的获取属性的方式,兼容性和稳定性远高于自行解析默认输出。

其他可行方案

如果你确实需要解析stat默认输出,也可以用awk一步完成提取,不需要组合grep+sed:

stat /ftp/PizzaFolder | awk '/Gid/{split($NF,arr,"/|)");print arr[2]}'

另外也可以通过ls命令获取:

ls -ld /ftp/PizzaFolder | awk '{print $4}'

不过ls的默认输出格式在部分特殊场景(比如组名包含空格)下可能出现解析错误,不如stat格式化参数的方案可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:06:03