sigconv.awk

来自「在Linux/UNIX下」· AWK 代码 · 共 54 行

AWK
54
字号
BEGIN		{		    nsig = 0;		    j = 0;		    print "/* This file was automatically generated */"		    print "/* by the awk script \"sigconv.awk\".      */\n"		    print "struct sigdesc {"		    print "    char *name;"		    print "    int  number;"		    print "};\n"		    print "struct sigdesc sigdesc[] = {"		}/^#define[ \t][ \t]*SIG[A-Z]/	{				    j = sprintf("%d", $3);				    str = $2;				    if (nsig < j) 					nsig = j;				    siglist[j] = sprintf("\"%s\",\t%2d,", \						substr(str, 4), j);				}/^#[ \t]*define[ \t][ \t]*SIG[A-Z]/	{				    j = sprintf("%d", $4);				    str = $3;				    if (nsig < j)					nsig = j;				    siglist[j] = sprintf("\"%s\",\t%2d,", \						substr(str, 4), j);				}/^#[ \t]*define[ \t][ \t]*_SIG[A-Z]/	{				    j = sprintf("%d", $4);				    str = $3;				    if (nsig < j)					nsig = j;				    siglist[j] = sprintf("\"%s\",\t%2d,", \					    substr(str, 5), j);				}END				{				    for (n = 1; n <= nsig; n++) 					if (siglist[n] != "")					    printf("    %s\n", siglist[n]);				    printf("    NULL,\t 0\n};\n");				}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?