canonind.awk

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· AWK 代码 · 共 30 行

AWK
30
字号
# turn output of mkindex into form needed by dictBEGIN {	if(ARGC != 2) {		print "Usage: awk -F'	' -f canonind.awk rawindex > index"		exit 1	}	file = ARGV[1]	ARGV[1] = ""	while ((getline < file) > 0) {		for(i = 2; i <= NF; i++) {			w = $i			if(length(w) == 0)				continue			b = index(w, "(")			e = index(w, ")")			if(b && e && b < e) {				w1 = substr(w, 1, b-1)				w2 = substr(w, b+1, e-b-1)				w3 =  substr(w, e+1)				printf "%s%s\t%d\n", w1, w3, $1 > "junk"				printf "%s%s%s\t%d\n", w1, w2, w3, $1 > "junk"			} else				printf "%s\t%d\n", w, $1 > "junk"		}	}	system("sort -u -t'	' +0f -1 +0 -1 +1n -2 < junk")	system("rm junk")	exit 0}

⌨️ 快捷键说明

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