1BEGIN { split(COMPATDIRS, dirs); n = 1; last_prefix = "" } 2/^#/ { print; } 3{ 4 if (NF > 0) { 5 pos = index($0, S); 6 if (pos == 0) { 7 print; 8 next; 9 } 10 prefix = substr($0, 1, pos) 11 if (prefix != last_prefix) { 12 for (d in dirs) { 13 for (f = 1; f < n; f++) { 14 x=files[f]; sub(S, S "/" dirs[d], x); 15 print x; 16 } 17 } 18 delete files; 19 n = 1; 20 last_prefix = prefix; 21 } 22 files[n++] = $0; 23 } 24 next 25} 26END { 27 for (d in dirs) { 28 for (f = 1; f < n; f++) { 29 x=files[f]; sub(S, S "/" dirs[d], x); print x; 30 } 31 } 32} 33