blob: cd6f362ff79e75d96e87d68182faa75be424c92c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/usr/bin/awk -f
function printchars() {
while (n > 0) {
x = n / 16 >= 1 ? 16 : n;
printf("0x%x%x,%s", x - 1, ref[c] - 1, ++i % 12 == 0 ? "\n" : " ");
n -= x;
}
}
/^$/ {
printchars();
printf("\n\n");
c = "";
i = 0;
}
/./ {
if (!ref[$0]) {
col[cnt++] = $0;
ref[$0] = cnt;
}
if ($0 != c) {
if (c != "")
printchars();
c = $0;
n = 0;
}
n++;
}
END {
for (i = 0; i < cnt; i++)
printf("%s,%s", col[i], ++j % 4 == 0 || i + 1 == cnt ? "\n" : " ");
}
|