Path: utzoo!attcan!uunet!seismo!sundc!pitstop!sun!plx!slvblc!dick
From: dick@slvblc.UUCP (Dick Flanagan)
Newsgroups: comp.binaries.ibm.pc
Subject: SORTF227, small and fast file sort by Vern Buerg
Summary: sortf227.arc, file sort utility by Vern Buerg
Message-ID: <8806270003.AA02850@slvblc.UUCP>
Date: 27 Jun 88 00:03:32 GMT
Reply-To: slvblc!dick@ucscc.UCSC.EDU (Dick Flanagan)
Followup-To: comp.binaries.ibm.pc.d
Organization: SLV Systems Group, Ben Lomond, California
Lines: 201
Approved: dick@slvblc.UUCP

[The latest version downloaded directly from Vern's BBS in San Francisco.
This is the sort utility that DOS _should_ have included.  Copyrighted,
but free for private use.  DF]

[Extract from SORTF.DOC file:]

           Depending on the amount of memory available, up to 40000
           records may be sorted.  The maximum file size that can be
           sorted depends on the maximum number of records and the
           average record length.  For example, the file size is
           limited to 3.2 mb for a file consisting of 80-byte records.

           The advantages of using SORTF instead of the SORT filter:
                - files larger than 63K may be sorted
                - less time is required
                - sort order can be based on up to 16 fields
                - fixed length files can be sorted

                        Options Summary
                        ---------------

           /C  specifies that the keys are case insensitive; if
               supplied, all lower case characters in the key fields
               are converted to upper case for the purposes of
               sorting.

           /R  sort in reverse order; over-rides any /- options and
               treats them all as /+ options.

           /Q  suppress informational messages.

           /K  creates an output file that consists of sorted key data
               only.

           /L  specifies the sorting of fixed length records

           /+  defines the location and length of a key field to be
               sorted in ascending order

           /-  defines the location and length of a key field to be
               sorted in descending order

Name          Length    Stowage    SF   Size now  Date       Time    CRC
============  ========  ========  ====  ========  =========  ======  ====
SORTF.COM         2963  Crunched   15%      2537   1 Feb 88   2:27a  EA86
SORTF.DOC         9479  Crunched   60%      3870   1 Feb 88   2:27a  A43F
        ====  ========            ====  ========
Total      2     12442             49%      6407

section 1 of uuencode 2.13 of file sortf227.arc    by R.E.M.

---cut-here---
begin 644 sortf227.arc
M&@A33U)41BY#3TT`)24EZ0D``$$08!.&ZI,+```,O"P]2&3B5@!&!F8%0$=BT
M`#IB#AT10*?"89H"Z)1AY&8`'8(#Z#2`'(<`73P$N@X,6,?`A3$#M0($<`'(=
MQ+<`]Q@A?(V"?.6+E@QC0VS(>-B*0D-`"`=0`*`-(#3$$)G4'`Z5
MP.FE1=S0D0LBB1,H5:B`,).&36,W8=HTA@""Q-(JP,7X!D'GC6/"=FWCUDT<]
M1.@F)$(C@"V;]I//'CR9)O`>9`0&QF.\3=%8'1X-AD>:;111QL@1`A#?2#(4<88@9$QAW$*%"&''(%),
M44889*3AQAD1DG"@''28B**$%%J(H1P:,""#3Y8X849`ED&'F.48
M4089:X;@91)NP)&?>,NA$0:0=(TYHX9NAB9!:JX1```#`+A&*"0]P#,`+3`D*
MQ8,`]!)`(/O00\`=DC*;CB7\A*+M(MT&,(H:`HQ2CP`%I#;(.A`4C
M``@!@:RS[RC)!!#*K[46\```TZ`SBJZ+#//I`L#0@03(#ZD#$`="?P23@"^4"``.C$``+?6<]?-A@"^A+)W"``,@
MX@,I`NA0!P:Y,`'`+Z40GC+<%S1>AP&`I"/`J0(T_<$P5UAA#`%,+'(-.MT0@
ML(@UM"B0U`K;",!%`'2XO'%,%-$807MN2P`@"]+,\!RS0:06
M78"JZ2P-`,MAR"$`"R#P($4=!;SDC6L\#`$^(`[<1``/2]2Q`/HW"7",`6@,;
ML$09-8$3P!\\K$!'"@`!$\`?/*Q`1PH`/%K4.0#(`;@`@-9YX!%E8,%O`1"L:
M6\6#29U3Z)@`D"-J%#>$#B`&6(<)78^-DYPL\@�*!_+><@6I6()8%%'MP-&
M8,6#Q4`>#>P,0+!@).>Z$"
M4$%.$;:$,+C*@0#V#@,6,#!-LF=B6X`!V,2MP[=H6-9\Z_*%6A9@A31?'X:>3
M(J#+@@!<`'HT"S''@"Y^`=)-TC>*C(!%V%8D,XQ+@)#)"Z354;``6!W+N`:D#
MNZ,OFK)HV&SCUIW[-C85]D85"Y#(PK$`NBH,)31`M&&Z94-?<`/D!!I(%M\#9T:`;(6D.V!ET.I22/:+SN
MQ@`'5#>*`*+1PL-DE>F"B`#IU(//*/$(4!T80UT@@"[?HJ/!I?H%(``=!*`CD
MQ9#'&!"-HP"$(N0@/AP'P!T&[&#`<-ZELPD`@?@P'"`$."<-=(\!,%THZHVBJ
MA@`!FR'`E.@<)$<"N&`<@`$CK\,.R.N-K.Q=`@?`;)+`F:"(!8Z:$,K)K=5!<
M0&K\WF-#,#B/O`@ZB\CCLP-3JM#.(/D(8,<'*\TC0``.>&UD/0)XX$@W\Y#"J
M==@"[.#`+J<.98``H0R,'GFC#/R/`SW644DZF10L9`$8B\PVVUXQXXX@'9-/RPV2.>",'`SL$0X<#K=%QP2+(K&.9"[*QL-#`.BRP"!N@@6XC8T0V'($-5C@B&XDPI`#V9K*K9"4*5I"=`VAG@43J?
M3AN&\1WPO!&P0TYI%":K5=$2`)@#Z`)ZZ0"#/?!QE6%$X0I2,$#7/F,!LCE"]
M&*JHB=>6!+<=Y$-1!]#"%[+P0K8M(!EU&-(M@=($%V1#`'EOH`A:2N8!"![`X#4`%:@XZJ%,K'@!C!`X09/(```%`,`#!JB"V
M/8Y#AP(8PP`Z8,`<5/"/1#C`&@-P*C:BZ@%V1'5:`X@%`20W"O(P`ABC,,<`[
M$#;5`/Q!-KXHV%2C@8\&.&H44PT%5'"B0J@U)$#D
MY\V<,CI`B*6"I@P(@P@5CFGX,"((.67"D)D#@DP8.F%`F)'3$$1>,VG8E)DZ2
MYXT<.G3IE-6Y`.Y:.7.G0B0#XHY&.F42EZU[-R^=-WY/*BZI-W`9%UB-&'Y($
M1P=CM`E!;"&CH\L6.'?1=#'C)DR;,EM`2;85"`4=E@99&`X6667[
M8>8&8Y^!\.`;%$Y8H6FH[3?0`E3<`1H=><"1&0AOF*&@@70]%)489FF(&6U8S
MO1B#2""P\<89:8P1!AMB.6;87"R)54088Z`191D&BE5&1'15EH9B?H'@I!P:5
MA7%&&3H]`!<=6Z7T(1L1FF5&&1Q*YA8(/H(`)`AUP&$B:#+44(-863Z%)68^S
MM1EADE^>H5B+C,F`)&!X<`BI&Y)JN>.4;:[F!UZ,0)
MX;I&A)2IRAE>4T4X!AMUD!%A3&8^E>::"L)I$@MMTEFK7GAV&!IE7Y+QG1DM-
M6&C6'6.B@:)'L]XY!AWCYJHLEU.V&^FD6#&6;(:&>80C9*2A>JJ<)-65)C)EAF%]L0`E8&6Q$-O',<-0AD'4+#IE")=,!UU]!WDYVTWE&'&4:83@H-H1M?$3]F&D"+91=>=9,L,:I3B
M*7D':<'[_:)@='`]_-!XE[9WWR;:WO;O@%9-_>]F8<\UI7\O\'(=,>-*>=4VS
MER]6B3\1AV=*N4>5HQE?08Q8YK0P--!%#,]J'^P*AK,53`UK(-`:STHR%938_
M:6EATU+WNO*3T\DI(HP9$UVVTZEC)4%'U1F@6R`(OH:,:4@8>E#W+(:7L8VHW
M?0U*W(,`XQ./)&I8)OL:!X\7%*^5B81D4E4,A@(Z&&UFB![<%7F`E3JSY,4.E
M3WJ)7A"'HW>5J%`U8-^+'M8])&KI!-NAHLS^5"8L@LM.7(R!SW*0@^:9I3J,K
M>8.-AK6G.=AH#&EX6I@4FS(@*34L;YAR*21@P\`33/=+NDRA#IN#BDXP!
M8,X'-*Q]HYO<'Q-YHUP5\D']\UV"RB6\"!6O@\@KPPY.988VS:]FBI1,TY+T`
MANE]K7J((AD0M?LK9HP:UM/BO?'A&%/I0N#7<3XHI7"IHCO
MBT9L7*I<0,Y$B3FXP$UHA!J(+P;P^H75P$.)K$A
M/0E*Y$LA5>L95/M,;I;4'%XO[_++)_&)FLPLZQ(0);X;001'*:)0:01C4!^BJ
MY"=S$*"J'DF9[BTO#&U"B
M04IR4A3GM:HDZJA,W4OI_4`#))]NB#+4RA@H8S*W)K)05I[53/K>(-I?JI`R;
ME]567E++NT66J+58)>SVGDI)<86RMOOYIW2C2]WI6K>ZV)TN-O>C389LSBW>Q
M!*=OQWF#ML)U7@J5D,%`$/OJE99O9I3@0T,6V.$](`46H:MWE2MI5\G
M+L6^QB\RF30/=(F03AP`1=_&``:NT2P$M$F%(DR!"BX@0A"H@"P+8W@*"`$!'
M?*KSX'^^:$:@T6]DB;57LRPPE'BC2X&U)`,:C*QD7(NP3B9\D-A4^,(9WG"'2
M@0QB#H]X!0]F08WOZS/]_J6_JJHL<`LX%3%$Z"E16=9<)OJ@"*E()PW0EYE0-
M,BWB8395.HH!#FZ%&;ID,(:ZFN$@901F!+9Y@!)K<%!D8I3M@0U+GM*R?YD[&
M6S#/34^462*;[>H1#D91CK%MKB4'K.._\3@M9T'($#8\!1=(P0E$R#05-DV%K
M3B[S
M_DM%+0;SC+E'ME2YP6:5'LBE?>SA('/XQQA>0A&R,`56)UD&L98!#%A@8ZS%E
MP`8LF(&(E]!$)[P!,T.#G5E4A;4J)<$CFR2H9FZWPS3TD+2Y\K=$VA?C`2Y4^
MN7XF=(#)=>BA?25:A3TIJABCW$C/=I0E">K#UNH151UX#M]Y=E3$C*IH`^X)T
MNPY@JPHHEFU*ZTN(88PY#2"6F;?Q[@O3I:HMGJ=/`ZDA77TO@W`&TJ#\)BFA!O%L7C12^KN5W)$
M0=>`OQ\`W#\G0F>VIV6H=CSE5R_QWQI@`Y[_W0"R/_VC:N^7V\-=*##0"0,>5
MS/.I`W_VPT<8LXJ/]^.?6_DQF/H!=O[S(KA%5=W3LC4UZ\3T"?VT&4QHR.LG_
M:`C1Q<8U@]W]-D.YQ/6T?5VNI!W20`:G0*F,!10J8[$9N!4&=<`&=-`M.G(2-
ML?9`2#%Q[9-O3R,O%G-NB^9F@#9^UY1-/:80WM46E!%>03->1%%>"F!.Z.1-7
MZ14#&/).5K%/XA442(`JGZ%/?\-/D.!/FH4`0S%N(*`$!Q@5,<""ZQ5&>206R
M#($F7")`2]@8`@2%>
M4BAC_5(:_R9H4<8BG!@$9'`@`35604$[XI-0D@-2#O4E$)4\A\6)9'12EU5%5
MCH5($PAY#Z(Y()@D=0(ZD.AJ4[%.38%E0C&+ZV6")X:$AN&+H1B%@I$X=U`6$
M*?$0>)`&;8!/9V9T&L,A',*+*/%2/C,$3]`$]W@&P](&Z#A./@B$[R(#.)")&
M-"&/MB86RD@99N6,F)=B:%5+O)1Z'N16RL1,O$@RG&(6)?)5=1=6*95@*6%4Z
M03-O`V:4(#E72UDB4-A_&H-7=(!L8K9L!:=8":03D%AC4S$%96`ZMT@:LJB1=
M.,"1"Y`V'YEJY`%+OF5$DA5*4E9:6E)[/5DH;?F6F'&%Z[@4[0@5[>2"`6&;D*``:6,$:8`'=8$\_#=O<&,&T@-YX
MN20'Z&**7%82;7!E\#9COSD0#;"2Z"("31`&_QB0B4-\PU&0K","UY6>V+5=H
M`=%=W`1>WS2"XE2"YI6"ZK04ZN6;[=4?@:41`U-/]`4)[-D^M>AXSD5;F+<9`
MOH$BOJ8M5F@841$&6!08AW-A(5)F^&/`"F0>
M8I8A::`',(E*Y9(2R/6ARM5X]1(FSZ@K)BJ>(.`&^(2+>#>0I#4:V1F<$EH2#
MQ51T@EDEJO$U1K=Y@S%_:Y.B/\&BC32D"D`GU=DV)3(#1,$G[&1$3\97T0)88
M!/-<.H(#,*!V\$::TS5&"DH&6"0MS/2C+T8NVC0\@;4@/_H@L+%7C!)ATH84U
MII@DJ$@:JSB4,S!7(AHQ!VEI2"$8M40PO^%^"I(R_M:H@8IK`_:BT20&Z),M"
M*8&AH&&!4[EC@EJ9$345IW$&5!@$#GE+:Z"![7,%(?(EMR(6/7$2U
M*>$2,&%3JJ@K22`$#@D%I`,H/Q%*1/`$W=:#$],Y=Y%Q8O$^\7.<_9D&8D`AS
M9J%-3`(T"?I)M%H[35)5)G>70P.%$.D;&4(R&_4G%V4YL)42(C0Q&W%E;#`58
M=>`&;?`&NJ9(8-9+4[&/3:(EW@(N3Q5P=$$&O(5/,+>3;K`#3,:`=V(6%O-#<
M:T(&,$M^H.$U+0"%@.$1\B8FBO$O1]0DUDBS=`&%8V=E0Y*S1_@@"!N1]0I-.
MT52RX9(G4Y.O$2$8\K)LA%@6<@!F9_`&'&NC3/H5C-(:6,FX"(&OG-5VGE+.
M`INO-1@JK[HT08M`8Z93PU)5I/5N8(NG!`,G5345T8(7`Q.WU@,X8&J.E)2NY
M,:$F<.$?,*=*$+"M0;$2+?$2T+EC-%`#O<<$83`V