92 lines · 1.6 KB · Text
RawDownload
#!/bin/rcecho T.split: misc tests of field splitting and split command >[1=2] TEMP0=foo0TEMP1=foo1TEMP2=foo2 $awk 'BEGIN {	# Assign string to $0, then change FS.	FS = ":"	$0="a:bc:def"	FS = "-"	print FS, $1, NF 	# Assign number to $0, then change FS.	FS = "2"	$0=1212121	FS="3"	print FS, $1, NF}' > $TEMP1echo '- a 33 1 4' > $TEMP2diff $TEMP1 $TEMP2 || echo 'BAD: T.split: 0.1' >[1=2] # getline var shouldn't impact fields. sed 1000q /lib/ucd/UnicodeData.txt >foo.txt echo 'f b a' > $TEMP0$awk '{	FS = ":"	getline a < "foo.txt"	print $1}' $TEMP0 > $TEMP1echo 'f' > $TEMP2diff $TEMP1 $TEMP2 || echo 'BAD: T.split: 0.4' >[1=2] echo 'a b c dfooe f g h ibar' > $TEMP0$awk '{	FS=":"	getline v	print $2, NF	FS=" "}' $TEMP0 > $TEMP1echo 'b 4f 5' > $TEMP2diff $TEMP1 $TEMP2 || echo 'BAD: T.split: 0.5' >[1=2] echo 'a.b.c=d.e.fg.h.i=j.k.lm.n.o=p.q.r' > $TEMP0echo 'bhn' > $TEMP1$awk 'BEGIN { FS="=" } { FS="."; $0=$1; print $2; FS="="; }' $TEMP0 > $TEMP2diff $TEMP1 $TEMP2 || echo 'BAD: T.split: record assignment 1' >[1=2] echo 'a.b.c=d.e.fg.h.i=j.k.lm.n.o=p.q.r' > $TEMP0echo 'd.e.fbj.k.lhp.q.rn' > $TEMP1$awk 'BEGIN { FS="=" } { print $2; FS="."; $0=$1; print $2; FS="="; }' $TEMP0 > $TEMP2diff $TEMP1 $TEMP2 || echo 'BAD: T.split: record assignment 2' >[1=2] echo 'abcdef      ' > $TEMP0who | sed 10q  >> $TEMP0sed 10q foo.txt >> $TEMP0 $awk '{	n = split($0, x, //)	m = length($0)	if (m != n) print "error 1", NR	s = ""	for (i = 1; i <= m; i++)		s = s x[i]	if (s != $0) print "error 2", NR	print s}' $TEMP0 > $TEMP1 diff $TEMP0 $TEMP1 || echo 'BAD: T.split: //' >[1=2]