![Linux에서는 사용자가 속한 선택된 그룹만 나열합니까? [복사]](https://linux55.com/image/185304/Linux%EC%97%90%EC%84%9C%EB%8A%94%20%EC%82%AC%EC%9A%A9%EC%9E%90%EA%B0%80%20%EC%86%8D%ED%95%9C%20%EC%84%A0%ED%83%9D%EB%90%9C%20%EA%B7%B8%EB%A3%B9%EB%A7%8C%20%EB%82%98%EC%97%B4%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
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