#!/bin/sh
#
# old gid:   100      101+     200+     300+
# new gid:   500      510+     520+     530+
#
ypcat group|awk -F: '{print $3}'|sort -n|uniq|awk '
  BEGIN {a = 500; b = 510; c = 520; d = 530;}
{
  if      ( 100 == $1             ) printf("%5d %5d\n", $1, a++);
  else if ( 101 <= $1 && $1 < 200 ) printf("%5d %5d\n", $1, b++);
  else if ( 200 <= $1 && $1 < 300 ) printf("%5d %5d\n", $1, c++);
  else if ( 300 <= $1 && $1 < 400 ) printf("%5d %5d\n", $1, d++);
  else printf("*** %5d\n", $1);
}'|sort -n +1 -2
