edb2dmi

来自「ftam等标准协议服务器和客户端的源代码。」· 代码 · 共 75 行

TXT
75
字号
#!/bin/shnawk ' {	if (substr($0, length($0), 1) == "\\")		printf "%s", substr($0, 1, length($0) -1)	else		print} ' |sed 's/[ ]*=[ ]*/=/g     s/[ ]*&[ ]*/\&/g     s/[ ]*#[ ]*/#/g     s/[ ]*\$[ ]*/$/g     s/[ ]*$//     s/[ ]*ALWAYS[ ]*/always/     /^!*iattr/s/[ ]*(/(/' |nawk ' BEGIN {	FS = "="}/^lastModif/{	next}/^!*(iattr|inherited)/{	line = $0	niatts = 0	while (1)	{		getline tmp		if (substr(tmp, length(tmp), 1) != ")")			iatts[++niatts] = tmp		else			break	} 	if (niatts > 0)	{		awksort(iatts, niatts)		for (i = 1; i <= niatts; i++)			line = line "~" iatts[i]	}	print line "~)"	next} /^objectClass/ {	n = index($0, "=")	nocs = split(substr($0, n+1), ocs, "&")	for (i =1; i <= nocs; i++)		print "objectClass=" ocs[i]	next}{	print $0}function awksort(arname, n,     i, j, changes) {    changes = 1    for (i = n; i > 1 && changes != 0; i--) {        changes = 0        for (j=1; j < i; j++)            if (arname[j+1] < arname[j]) {                swap(arname, j+1, j)                ++changes            }    }}function swap(x, i, j,     tmp) {    tmp = x[i]    x[i] = x[j]    x[j] = tmp} '

⌨️ 快捷键说明

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