我想从 /etc/passwd 文件中提取 UID,如下所示-
www-data:x:33:33:www-data:/var/www:/bin/sh
我面临的问题是,即使我匹配第一个 33,第二个 33(GID)也得到匹配。我如何只匹配第一次出现?
到目前为止,我有这个-[\d]+
我想从 /etc/passwd 文件中提取 UID,如下所示-
www-data:x:33:33:www-data:/var/www:/bin/sh
我面临的问题是,即使我匹配第一个 33,第二个 33(GID)也得到匹配。我如何只匹配第一次出现?
到目前为止,我有这个-[\d]+
x
第二个字段中用于包含加密密码。如今,您几乎可以确定它x
适用于所有条目,因此您可以使用以下内容:
$ grep x:33 /etc/passwd
有关详细信息,请参阅影子密码x
。
您没有告诉我们您实际上要做什么,所以我猜您可能想查看man id
手册页。
如果您只对 uid 感兴趣,那么您可以使用cut
:
$ cut -f 3 -d: /etc/passwd
您需要使用所有格量词:
尝试
[\d]+?