Pi*oko w dobrą stronę, jako element jednego z możliwych rozwiązań. Potrzebujesz cały potok:
grep $USER /etc/group | POL1 | POL2 | POL3 | POL4
POL1 - wycięcie wszystkiego poza elementem za ostatnim dwukropkiem (np
sed,
awk albo
cut, według smaku)
POL2 - zamiana przecinków na znak nowej linii (np
sed albo
tr)
POL3 - posortowanie
POL4 - usunięcie duplikatów
grep zwróci za dużo, jak nazwa użytkownika występuje gdzieś w treści innego wpisu.
* Możesz przebudować grepa tak, aby szukał dokładnego dopasowania za ostatnim dwukropkiem, z uwzględnieniem przecinków (regexp level master).
* Możesz zastąpić
grepa narzędziami systemowymi
groups i
getent group do wydłubania właściwych wpisów (może się przydać polecenie
xargs aby uniknąć pętli).
* wersja hardcore: da radę zrobić samym
awkiem. W końcu język jak każdy inny...