#!/bin/awk -f # aux/emcollect -- collect hyperlink references in em source function collect(line) { left = $0 right = $0 sub("^ \\[", "", left) sub("\\].*$", "", left) sub("^ \\[[0-9a-z]+\\] <", "", right) sub(">$", "", right) printf "%s=%s\n", left, right } BEGIN { expectblock = 1 } /^$/ { expectblock = 1; getline } expectblock && /^ \[[0-9a-z]+\] / { block = "nl"; expectblock = 0 } block = "nl" && /^ \[[0-9a-z]+\] <(\.\/.*|\.\.\/.*|#.*|.*\/.*)>$/ { collect($0); next }