On Thu, 11 Jul 2002, Carl Parrish wrote: > How do you add a group into a group in the /etc/group file?? > The following AWK script passed minimal unit testing. # filename: groupmerge.awk # # To merge group b into group a... # awk -f groupmerge.awk /etc/group a b # # caveats: magic #s used; no error handling BEGIN { if (4 != ARGC) { printf("Usage: awk -f groupmerge.awk group_file to_group from_group\n"); printf("Example: awk -f groupmerge.awk /etc/group techies cvs"); exit 1; } to=ARGV[2]; from=ARGV[3]; ARGC=2; FS=":"; } $1 == to { d=sprintf("%s:%s:%s:", $1, $2, $3); s=$4; next; } { printf("%s:%s:%s:%s\n", $1, $2, $3, $4); } $1 == from { g=$4; } END { printf("%s%s", d, s); split(g, groups, ","); for (i in groups) if (!match(s, groups[i])) # avoid dups printf(",%s", groups[i]); printf("\n"); }