当我使用命令组userid时,它会列出当前分配给用户的100多个组。我只需要列出包含abc的组。
当我在输出中执行groups userid | grep abc时,所有组都被列出(超过100个),并突出显示与abc匹配的组。是否可以只列出包含abc的组?
发布于 2020-12-22 18:41:22
试试这个:
groups | tr ' ' '\n' | grep "abc"关键是groups 用一个空格分隔每个组,而grep则在线上操作。这就是为什么您可以简单地使用tr交换换行符D4的空格,然后使用grep。
您可以尝试在结束时不使用| grep "abc"来使用这个命令来查看中间结果。
发布于 2020-12-22 19:54:30
首先,让我们只匹配给定的组名,避免在其他组名中进行任何子字符串匹配:
$ groups
foo foobar baz ban bat
$ groups | grep --regexp=foo --regexp=ban --word-regexp
[outputs "foo foobar baz ban bat" with only "foo" and "ban" highlighted]仅列出实际匹配:
$ groups | grep --only-matching --regexp=foo --regexp=ban --word-regexp
foo
banhttps://unix.stackexchange.com/questions/625750
复制相似问题