使用RegEx从/ etc / passwd中提取UID

时间:2011-12-29 03:04:16

标签: regex extract text-extraction uid passwd

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

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

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

到目前为止,我已经 - [\d]+

2 个答案:

答案 0 :(得分:0)

第二个字段中的x用于包含加密密码。现在,您几乎可以确定所有条目都是x,因此您可以使用以下内容:

$ grep x:33 /etc/passwd

有关x的详细信息,请参阅shadow password

你没有告诉我们你想要做什么,所以我猜你可能想看一下man id手册页。

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

$ cut -f 3 -d: /etc/passwd

答案 1 :(得分:0)

您需要使用占有量词:

尝试

[\d]+?