⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpsmsgconvert

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻
字号:
#! /bin/sh## Shell script to convert VMS message definition file into a simple Unix# format.## Usage:#	LpsmsgConvert < (VMSfile)lpsmsg.msg  > messages.txt#	LpsmsgString  < messages.txt > lpsmsg_string.h## Ajay Kachrani - June 21, 1988 - Updated from IP server to be used by#                                 DECnet/Ultrix lpscomm filter#echo | awk '{N=66682889;	    M=N+1; 	    if (M == N) print "Wrong version"}' > /tmp/awktest.$$if [ -s /tmp/awktest.$$ ]then cat << XXXXXX 1>&2`which awk` is the wrong version of awk for $0.  It uses single precision. $0 requires a double-precision version of awk.If worst comes to worst, you can get a double-precision version of awk bygoing to the awk sources and changing AWKFLOAT from "float" to "double"in the file awk.def, then recompiling all of awk.XXXXXX#    rm /tmp/awktest.$$    exit 1firm /tmp/awktest.$$ expand | awk 'BEGIN {	Symbols["WARN"]    = 0;	Symbols["SUCCESS"] = 1;	Symbols["ERROR"]   = 2;	Symbols["INFO"]    = 3;	Symbols["INFORMATIONAL"]    = 3;	Symbols["FATAL"]   = 4;        SeverityStr[0] = "WARN";        SeverityStr[1] = "SUCCESS";        SeverityStr[2] = "ERROR";        SeverityStr[3] = "INFO";        SeverityStr[4] = "FATAL";      }/^ *!/ {next}/^ *$/ {next}/^ *\.TITLE/	{next}/^ *\.IDENT/	{next}/^ *\.END/	{next}/^ *\.FACILITY/	{Comma=index($2,",");		 Slash=index($2,"/");		 if (Slash == 0) Slash = strlen($2);		 FacilityName=substr($2,0,Comma-1);		 FacilityNumber=substr($2,Comma+1,Slash-Comma-1);		 control = 0;		 next		}/^ *\.LITERAL/	{Symbols[$2] = $4; next}/^ *\.SEVERITY/	{Severity = Symbols[$2]; next}/^ *\.BASE/	{if (Symbols[$2] != "")		      Base=Symbols[$2];	         else Base=$2; 		 MessageNumber = Base; next}/^ *\./		{print "Unrecognized directive ",$0; next}# Not a pseudo-op. Define a message.	{Name=$1;	 Left=index($0,"<");	 Right=index($0,">");	 Text=substr($0,Left+1,Right-Left-1);	 Equals=index($0,"/FAO_COUNT=");	 if (Equals > 0) {	     FAOcount=substr($0,Equals+11);	 } else {	     FAOcount=0	 }	 ErrorName=FacilityName "$_" Name;	 ErrorNumber = ((((control)*4096 + FacilityNumber)*8192 + (MessageNumber+4096))*8) + (Severity);         if (SeverityStr[Severity] == "")                 Severity = 0;	 printf "%s	%s	%d	%d	%s\n",SeverityStr[Severity], ErrorName,ErrorNumber,FAOcount,Text;	 MessageNumber += 1	}' > /tmp/$0.$$	wc -lc /tmp/$0.$$ |\	 awk '{printf "lines %d chars %d\n",$1,$2}'	cat /tmp/$0.$$	rm /tmp/$0.$$

⌨️ 快捷键说明

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