groups userid 명령을 사용하면 현재 사용자에게 할당된 그룹이 100개 이상 나열됩니다. 을 나열하면 됩니다 abc
.
이렇게 하면 groups userid | grep abc
모든 그룹(100개 이상)이 출력에 나열되고 abc
일치하는 그룹이 강조 표시됩니다. 포함된 그룹만 나열할 수 있습니까 abc
?
답변1
이 시도:
groups <username> | tr ' ' '\n' | grep "abc"
groups <username>
운영 시 각 그룹을 공백으로 구분하는 것이 주요 포인트grep
철사. 그렇기 때문에 간단히 \n
공백을 개행 문자로 바꾼 tr
다음 grep
.
후행 명령 없이 이 명령을 시도하여 | grep "abc"
중간 결과를 볼 수 있습니다.
답변2
먼저, 다른 그룹 이름과 일치하는 부분 문자열을 피하고 주어진 그룹 이름만 일치시키겠습니다.
$ 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
ban