mirror of
https://codeberg.org/nsxiv/nsxiv
synced 2024-11-17 09:25:39 +00:00
36 lines
512 B
Awk
36 lines
512 B
Awk
#!/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" : " ");
|
|
}
|