|
|
1.1 ! root 1: BEGIN { ! 2: FS = "\t"; ! 3: } ! 4: ! 5: NR == 1 { ! 6: if ($3 != "") ! 7: printf(".Ib \"%s\"\n", $2); ! 8: major = $2; ! 9: minor = $3; ! 10: pageno = $1; ! 11: pagelist = $1; ! 12: } ! 13: ! 14: NR != 1 { ! 15: if ($2 == major && $3 == minor) # neither has changed ! 16: { ! 17: if ($1 != pageno) # new page number, append ! 18: pagelist = pagelist "," $1; ! 19: } ! 20: else # one has changed ! 21: { ! 22: if (minor != "") # dump full record ! 23: printf(".I< \"%s\" \"%s\" \"%s\"\n", major, minor, pagelist); ! 24: else ! 25: printf(".I> \"%s\" \"%s\"\n", major, pagelist); ! 26: pagelist = $1; # restart pagelist ! 27: if ($2 != major && $3 != "") # major has changed, minor not null ! 28: printf(".Ib \"%s\"\n", $2); ! 29: } ! 30: major = $2; ! 31: minor = $3; ! 32: pageno = $1; ! 33: } ! 34: ! 35: END { ! 36: if (minor != "") # dump full record ! 37: printf(".I< \"%s\" \"%s\" \"%s\"\n", major, minor, pagelist); ! 38: else ! 39: printf(".I> \"%s\" \"%s\"\n", major, pagelist); ! 40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.