No meu /etc/group
arquivo, eu tinha os grupos necessários para vários compartilhamentos de arquivos, com seus membros listados. Algumas dessas listas são bastante longas, e eu gostaria de encontrar uma maneira de classificar os membros de cada grupo. Existe uma maneira fácil?
Estou usando o Bash no Debian 9.
Até agora, descobri como selecionar um grupo e classificar seus membros em ordem alfabética:
grep groupa /etc/group | cut -d":" -f4 | tr "," "\n" | sort
Isso requer que o nome do grupo já seja conhecido.
Leia cada linha do arquivo de grupos. Divida os membros por vírgula, ordene-os, junte-os novamente. Imprima a linha com os outros componentes intocados.
Você pode usar Awk ou Perl:
ou
Ambos pulam grupos que têm listas de membros vazias; você pode omitir esse teste e/ou reescrever os outros campos também se desejar, ex.