This only lists supplementary group memberships, not the user who have this group as their primary group. And it only finds local groups, not groups from a network service such as LDAP.
Самый тупой способ - в цикле сравнивать первый столбец с 1000 или, если возможны варианты с ведущими нулями - считать количество символов (см. ${#VAR}).
Можно же отсортировать вывод find`а и только потом натравливать на список convert. Например связкой find | sort | xargs convert, но вообще вариантов много.
Записываете переменные в файл, как в обычном sh-скрипте - VAR1=foo, VAR2=bar и т. д, а в начале вашего скрипта говорите "source /path/to/varsfile", и все переменные оттуда подтягиваются.
sort так не умеет, насколько я помню, он сортирует строки с самого начала. Рекомендую рассмотреть вариант с использованием awk или перестановкой полей (это можно совместить).