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

📄 stests

📁 早期freebsd实现
💻
📖 第 1 页 / 共 2 页
字号:
linecount C xx 2#---------------------------------------------------------------TEST=19; echo $TEST	# -i, -d, -fcat <<! >xx.crun(i,j){ for( ; i<=j; i++) printf("%.3o %c\n",i,i); }main(){	run(0, 011);		/* 012=='\n' */	run(013, 0377); }!cc xx.ca.out >incat <<! >xx.crun(i,j){ for( ; i<=j; i++) printf("%.3o %c\n",i,i); }main(){ run(0, 011);	run(013, ' '-1);	run(0177, 0377);	run(' ', 0176); }!cc xx.ca.out >outxsort A -i -k 2cat <<! >xx.crun(i,j){ for( ; i<=j; i++) printf("%.3o %c\n",i,i); }main(){	run(0, 010);		/* 011=='\t', 012=='\n' */	run(013, ' '-1);	run(' '+1, '0'-1);	run('9'+1, 'A'-1);	run('Z'+1, 'a'-1);	run('z'+1, 0377);	run('\t', '\t');	run(' ', ' ');	run('0', '9');	run('A', 'Z');	run('a', 'z'); }!cc xx.ca.out >outxsort B -d -k 2cat <<! >xx.crun(i,j){ for( ; i<=j; i++) printf("%.3o %c\n",i,i); }main(){	int i;	run(0, 011);	run(013, 'A'-1);	for(i='A'; i<='Z'; i++) 		printf("%.3o %c\n%.3o %c\n",i,i,i+040,i+040);	run('Z'+1, 'a'-1);	run('z'+1, 0377); }!cc xx.ca.out >outrm xx.cxsort C -f -k 2#---------------------------------------------------------------TEST=20; echo $TEST	# -d, -f, -b applies only to fieldscat <<! >in b'Ca!cp in outxsort A -dxsort B -fcat <<! >out ba'C!xsort C -dfb#---------------------------------------------------------------TEST=21; echo $TEST	# behavior of null bytescat <<'!' >xx.cmain() { printf("%cb\n%ca\n",0,0); }!cc xx.ca.out >insort in >xxcmp in xx >/dev/null && echo ${TEST}A failedtest "`wc -c <in`" = "`wc -c <xx`" || echo ${TEST}B failedrm xx.c a.out#---------------------------------------------------------------TEST=22; echo $TEST	# field limitscat <<! >ina	2a	1b	2b	1!cat <<! >outb	1b	2a	1a	2!xsort "" -r -k1,1 -k2n#---------------------------------------------------------------TEST=23; echo $TEST	# empty filesort -o xx </dev/nullcmp xx /dev/null 2>/dev/null || echo ${TEST}A failedsort -c </dev/null || echo ${TEST}B failedsort -cu </dev/null || echo ${TEST}C failed#---------------------------------------------------------------TEST=24; echo $TEST	# many fieldscat <<! >in0:2:3:4:5:6:7:8:91:1:3:4:5:6:7:8:91:2:2:4:5:6:7:8:91:2:3:3:5:6:7:8:91:2:3:4:4:6:7:8:91:2:3:4:5:5:7:8:91:2:3:4:5:6:6:8:91:2:3:4:5:6:7:7:91:2:3:4:5:6:7:8:8!cat <<! >out1:2:3:4:5:6:7:8:81:2:3:4:5:6:7:7:91:2:3:4:5:6:6:8:91:2:3:4:5:5:7:8:91:2:3:4:4:6:7:8:91:2:3:3:5:6:7:8:91:2:2:4:5:6:7:8:91:1:3:4:5:6:7:8:90:2:3:4:5:6:7:8:9!xsort "" -t: -k9 -k8 -k7 -k6 -k5 -k4 -k3 -k2 -k1#---------------------------------------------------------------TEST=25; echo $TEST	# variously specified alpha fields			# numbers give the correct orderingscat <<! >in01:04:19:01:16:01:21:01 a02:03:13:15:13:19:15:02  a03:02:07:09:07:13:09:03   a04:01:01:03:01:07:03:04    a05:08:20:16:17:02:20:05 aa06:07:14:18:14:20:14:06  aa07:06:08:10:08:14:08:07   aa08:05:02:04:02:08:02:08    aa09:16:22:02:22:04:24:13 b10:15:16:20:19:22:18:14  b11:14:10:12:10:16:12:15   b12:13:04:06:04:10:06:16    b13:24:24:22:24:06:22:21 bb14:23:18:24:21:24:16:22  bb15:22:12:14:12:18:10:23   bb16:21:06:08:06:12:04:24    bb17:12:21:21:18:03:19:09 ab18:11:15:19:15:21:13:10  ab19:10:09:11:09:15:07:11   ab20:09:03:05:03:09:01:12    ab21:20:23:17:23:05:23:17 ba22:19:17:23:20:23:17:18  ba23:18:11:13:11:17:11:19   ba24:17:05:07:05:11:05:20    ba!sort -k2b -k2 in >xx && 	sort -c -t: -k2n xx 2>/dev/null || echo ${TEST}A failedsort -k2,2.1b -k2 in >xx && 	sort -c -t: -k3n xx 2>/dev/null || echo ${TEST}B failedsort -k2.3 -k2 in >xx && 	sort -c -t: -k4n xx 2>/dev/null || echo ${TEST}C failedsort -k2b,2.3 -k2 in >xx && 	sort -c -t: -k5n xx 2>/dev/null || echo ${TEST}D failedsort -k2.3,2.1b -k2 in >xx && 	sort -c -t: -k6n xx 2>/dev/null || echo ${TEST}E failedsort -k2,2.1b -k2r in >xx && 	sort -c -t: -k7n xx 2>/dev/null || echo ${TEST}F failedsort -b -k2,2 -k2 in >xx && 	sort -c -t: -k8n xx 2>/dev/null || echo ${TEST}G failedsort -b -k2,2b -k2 in >xx &&			# perhaps same as G	sort -c -t: -k3n xx 2>/dev/null || echo ${TEST}H failed\ "(standard is not clear on this)"#---------------------------------------------------------------TEST=26; echo $TEST	# empty fields, out of bounds fields	cat <<! >in0 51 42 33 24 15 0!cp in outxsort "" -k2.2,2.1 -k2.3,2.4#---------------------------------------------------------------TEST=27; echo $TEST	# displaced -orm -f out$o sort /dev/null -o out || $o echo ${TEST}B failed$o test -f out || $o echo ${TEST}C failed#---------------------------------------------------------------TEST=28; echo $TEST	# apparently nonmonotone field specscat <<! >inaaaa cx a0 b!cp in out$o xsort A +1 -0.3 +1.4 -1.5xsort B -k2,1.3 -k2.5,2.5#---------------------------------------------------------------TEST=29; echo $TEST	# determination of end of option listcat >-k <<!x!rm -f out -csort -- -k </dev/null >xx || echo ${TEST}A argument failedcmp xx -k || echo ${TEST}A comparison failedsort - -c </dev/null 2>/dev/null && echo ${TEST}B failed#---------------------------------------------------------------TEST=30; echo $TEST	# missing newlineawk 'BEGIN{ printf "%s", "x"}' | sort >xxwc -c <xx | awk '$1!=2{ print "'${TEST}' failed" }'#---------------------------------------------------------------TEST=31; echo $TEST	# -M, multiple fieldscat <<! >injan 10 1900Feb 26 1900feb 25 1900January xx 1900August 11 1900jan 15 1990feb 22 1990mar 15 1990apr 1 1990may 45 1990jun 14 1990jul 4 1990aug 1~ 1990aug 11 1990sep 1 1990oct 12 1990nov 24 1990dec 25 1990never 3 1990 Dec 25 1990!cat <<! >outJanuary xx 1900jan 10 1900feb 25 1900Feb 26 1900August 11 1900never 3 1990jan 15 1990feb 22 1990mar 15 1990apr 1 1990may 45 1990jun 14 1990jul 4 1990aug 1~ 1990aug 11 1990sep 1 1990oct 12 1990nov 24 1990 Dec 25 1990dec 25 1990!$M xsort "" -k3n -k1M -k2n#---------------------------------------------------------------TEST=32; echo $TEST	# -M case insensitivity, -rcat <<! >inxjunejanuarydecember!cat <<! >outdecemberjunejanuaryx!$M xsort "" -Mr#---------------------------------------------------------------TEST=33; echo $TEST	# -gcat <<! >in2110.21e1E11e.!cat <<! >out.211e1e.2101E1!$g xsort "" -g#---------------------------------------------------------------TEST=34; echo $TEST	# -g wide operandscat <<! >in.99999999999999999999099999999999999999999e-21099999999999999999999e-19.1e1!cat <<! >out099999999999999999999e-21.99999999999999999999.1e1099999999999999999999e-19!$g xsort A -gcat <<! >out.1e1.99999999999999999999099999999999999999999e-19099999999999999999999e-21!xsort B -n#---------------------------------------------------------------TEST=35; echo $TEST	#-g, -u with different fp repscat <<! >in+0-00.10+.1-.1-100e-3x!cat <<! >out-.1-100e-3+0-0x+.10.10!$g xsort A -g$g sort -gu in >xx && $g sort -c -gu xx || echo ${TEST}B failed$g linecount C xx 3#---------------------------------------------------------------TEST=36; echo $TEST	# -scat <<! >ina 2b 1c 2a 1b 2c 1!cat <<! >outa 2a 1b 1b 2c 2c 1!$s xsort "" -s -k1,1#---------------------------------------------------------------TEST=37; echo $TEST	# -s, multiple filescat <<! >ina 2c 2!cat <<! >in1a 1b 1c 1!cat <<! >outc 2b 1a 2!$s sort -smru -k1,1 in in in1 in1 >xx$s cmp xx out >/dev/null || echo $TEST failed#---------------------------------------------------------------TEST=38; echo $TEST	# -s$s awk '	BEGIN {		for(i=1; i<50; i++)			for(j=1; j<=i; j++) {				print i, 2 >"in"				print i, 1 >"in1"			}	}'$s sort -m -s -k1,1n in in1 >out$s awk '	func stop()	{ print "'$TEST' failed"; exit }	$1!=last1 	{ if(count!=last1 || $2!=2) stop();			  count = 0}	$1==last1 && $2!=last2 { if(count!=last1 || $2!=1) stop();				 count = 0 }			{ count++; last1 = $1; last2 = $2 }	' out

⌨️ 快捷键说明

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