| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | #!/usr/bin/awk -f# # Usage: awk -f separate.awk foo.SUSv4.in# Input: http://www.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html#tag_13_77_03_06# Output: foo-$CODE.SUSv4.syms, foo.SUSv4.syms## Copyright (C) 2010 Bernhard Reutner-Fischer# Public domainfunction get_code(line){	sub("\\]\\[.*", "", line)	sub("\\[", "", line)	sub(" ", "", line)	return line}BEGIN{	code="";# feature set; XSI, OB XSI, CX, etc}/\[Option Start\]/{	code = get_code($0)	next}/\[Option End\]/{ code = ""; next; }/.*/ {	if (!hdrname) {		split(FILENAME, fparts, ".")		hdrname = fparts[1]		stdname = fparts[2]		if (fparts[3] != "in") {			print "inputfilename may not be ok, exiting."			exit(1)		}	}	if (code) {		fname = hdrname "-" code "." stdname ".syms"	} else {		fname = hdrname "." stdname ".syms"	}	sub("^*", "", $0)	if (file[code]) {		print $0 >> fname	} else {		print $0 > fname		file[code] = 1	}}
 |