gpt4 book ai didi

regex - 如何在 Linux 上从 id 中提取 uid 值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:44 26 4
gpt4 key购买 nike

在 Linux 中,如果您键入 id www-data,您将获得 id。

uid=33(www-data) gid=33(www-data) groups=33(www-data)

有没有办法从中提取 uid 的值?

我想我可以像这样传递它:

id www-data | grep ?

我也可以使用 egrepsed 如果它更容易,但不确定如何继续。Stackoverflow 上的类似示例涉及通过正则表达式直接提取值。我不知道该值是否为 33。因此我需要从 uid= 中提取它直到 (www-data)。 (除非它总是 33,而且我让我的生活变得太困难了)。有什么建议吗?

最佳答案

除了使用正则表达式,您还可以使用 id 的标志(来自 man id):

-g, --group
print only the effective group ID
-G, --groups
print all group IDs
-n, --name
print a name instead of a number, for -ugG
-r, --real
print the real ID instead of the effective ID, with -ugG
-u, --user
print only the effective user ID

这可能不太容易出错:如果将来 id 会改变它格式化输出的方式,该标志仍​​然有效。

所以使用:

$ id -u www-data
33

一般来说,这些命令中的许多都提供标志来检索部分信息。查阅联机帮助页通常会得到很多选项,只是偶尔您会发现您需要一些未实现的东西。

关于regex - 如何在 Linux 上从 id 中提取 uid 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28633191/

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