Sed 如何获取具有特定前缀字母的控制盘用户

Sed 如何获取具有特定前缀字母的控制盘用户,sed,Sed,我只想提取以c\ci\id\d开头的用户 如何获得所需的输出 cat /etc/group | grep wheel wheel:x:10:I0173203,i04317303,raccount,d454523,c564566,C555533,D2354546 我会使用awk来实现这一点: $awk-F[:,]'/^wheel/{ 对于i=4;i我将使用awk来实现: $awk-F[:,]'/^wheel/{ fori=4;i 运行链中的第一个命令,查看结果。然后添加第二个命令,查看结果 运行

我只想提取以c\ci\id\d开头的用户

如何获得所需的输出

cat /etc/group | grep wheel
wheel:x:10:I0173203,i04317303,raccount,d454523,c564566,C555533,D2354546
我会使用awk来实现这一点:

$awk-F[:,]'/^wheel/{ 对于i=4;i我将使用awk来实现:

$awk-F[:,]'/^wheel/{ fori=4;i 运行链中的第一个命令,查看结果。然后添加第二个命令,查看结果


运行chain中的第一个命令,查看结果。然后添加第二个命令,查看结果,…

您尝试了什么?并且将输出全部放在规范的一行部分?祝您好运。我不确定,因为在提取用户后,我将要使用此代码,例如:对于i in$users do..带有i$…end的内容;您尝试了什么?以及将输出全部放在你的规范的一行中吗?祝你好运。我不确定,因为在我提取用户后,我想使用以下代码:例如:对于$users中的i,使用i$…end.;@jaypal:既然你也用:,那么你应该从i=4开始,以便只匹配用户名。我认为OSX在这个注册表中并不特别ard-我认为/etc/group的格式在所有Unix版本上都是标准格式。格式是:::-请参阅。实际密码通常不在文件中,并且打印的内容因平台而异;例如:OSX:*,Linux:x。@mklement0感谢您提供的信息。在这种情况下,您的建议是绝对有效和适当的。已更新解决方案。比ks!:@jaypal:既然你也以:,你应该以i=4开始,以便只在用户名之间匹配。我认为OSX在这方面并不特别-我认为/etc/group的格式在所有Unix版本上都是标准格式。格式是:::-参见。实际密码通常不在文件中,而打印的内容因平台而异;例如:OSX:*,Linux:X.@mklement0感谢您提供的信息。在这种情况下,您的建议是绝对有效和适当的。您已经更新了解决方案。谢谢!:+1;按照@jaypal的示例,您可以通过将第一个sed命令重写为以下内容来消除cat和grep命令:sed-n'/^wheel:/s/^.*.*$/\1/gp'/etc/group。OSX用户:使用sed's/,/\'$'\n/g'作为第二个sed命令。谢谢,但我故意使用了一长串简单命令。毕竟,关键是要了解它们的作用,而不仅仅是复制粘贴解决方案,然后对另一个文件再次询问相同的问题。+1;以@jaypal为例,您可以通过重写第一个sed命令来消除cat和grep命令如下所示:sed-n'/^wheel:/s/^.*:\.*$/\1/gp'/etc/group.OSX用户:使用sed's/,/\'$'\n/g'作为第二个sed命令。谢谢,但我故意使用了一长串简单的命令。毕竟,关键是要了解它们的作用,而不仅仅是复制粘贴解决方案,然后对另一个文件再次提出同样的问题。
I0173203 i04317303 d454523 c564566 C555533 D2354546
cat /etc/group | grep wheel | sed 's/^.*:\(.*\)$/\1/g' | sed 's/,/\n/g' | egrep '^[cCiIdD].*'