-1

我想从 /etc/passwd 文件中提取 UID,如下所示-

www-data:x:33:33:www-data:/var/www:/bin/sh

我面临的问题是,即使我匹配第一个 33,第二个 33(GID)也得到匹配。我如何只匹配第一次出现?

到目前为止,我有这个-[\d]+

4

2 回答 2

0

x第二个字段中用于包含加密密码。如今,您几乎可以确定它x适用于所有条目,因此您可以使用以下内容:

$ grep x:33 /etc/passwd

有关详细信息,请参阅影子密码x

您没有告诉我们您实际上要做什么,所以我猜您可能想查看man id手册页。

如果您只对 uid 感兴趣,那么您可以使用cut

$ cut -f 3 -d: /etc/passwd
于 2011-12-29T03:11:22.797 回答
0

您需要使用所有格量词:

尝试

[\d]+?
于 2011-12-29T03:14:09.863 回答