#!/usr/bin/gawk -f BEGIN { types = 4; name[0] = "a"; name[1] = "b"; name[2] = "c"; name[3] = "d"; for (item[0] = 0; item[0] < 4; item[0]++) { for (item[1] = 0; item[1] < 4; item[1]++) { for (item[2] = 0; item[2] < 4; item[2]++) { for (item[3] = 0; item[3] < 4; item[3]++) { for (item[4] = 0; item[4] < 4; item[4]++) { printf("name: {"); for (i = 0; i < 5; i++) { if (i > 0) printf(" "); printf("%s", name[item[i]]); } printf("} 5"); for (i = 0; i < 5; i++) { printf("\ni: %d", item[i]); printf("\nt:"); for (j = 0; j <= i; j++) printf(" %d", item[j] + j * types); } printf(";\n"); } } } } } }