home *** CD-ROM | disk | FTP | other *** search
- Info file sort.info, produced by Makeinfo, -*- Text -*- from input
- file sort.tex.
-
- This file documents the MS-DOS port of the GNU sort utility.
-
- Copyright (C) 1990 Thorsten Ohl, <td12@ddagsi3.bitnet> $Header:
- e:/gnu/sort/RCS/sort.t'v 0.1 90/08/26 19:00:07 tho Exp $
-
- Permission is granted to make and distribute verbatim copies of this
- manual provided the copyright notice and this permission notice are
- preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
- this manual under the conditions for verbatim copying, provided also
- that the section entitled ``GNU General Public License'' is included
- exactly as in the original, and provided that the entire resulting
- derived work is distributed under the terms of a permission notice
- identical to this one.
-
- Permission is granted to copy and distribute translations of this
- manual into another language, under the above conditions for modified
- versions, except that the text of the translations of the section
- entitled ``GNU General Public License'' must be approved for accuracy
- by the Foundation.
-
-
- File: sort.info, Node: Top, Up: (Dir)
-
- * Menu:
-
- * Copying:: Legal matters.
- * Introduction:: Generalilties.
- * Installation:: How to make GNU `sort'.
- * Options:: How to tell `sort' how to sort ...
- * MS-DOS:: How the MS-DOS version differs.
-
-
- File: sort.info, Node: Copying, Next: Introduction, Up: Top
-
- GNU GENERAL PUBLIC LICENSE
- **************************
-
- Version 1, February 1989
-
- Copyright (C) 1989 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
- =========
-
- The license agreements of most software companies try to keep users
- at the mercy of those companies. By contrast, our General Public
- License is intended to guarantee your freedom to share and change
- free software--to make sure the software is free for all its users.
- The General Public License applies to the Free Software Foundation's
- software and to any other program whose authors commit to using it.
- You can use it for your programs, too.
-
- When we speak of free software, we are referring to freedom, not
- price. Specifically, the General Public License is designed to make
- sure that you have the freedom to give away or sell copies of free
- software, that you receive source code or can get it if you want it,
- that you can change the software or use pieces of it in new free
- programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
- anyone to deny you these rights or to ask you to surrender the rights.
- These restrictions translate to certain responsibilities for you if
- you distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of a such a program, whether
- gratis or for a fee, you must give the recipients all the rights that
- you have. You must make sure that they, too, receive or can get the
- source code. And you must tell them their rights.
-
- We protect your rights with two steps: (1) copyright the software,
- and (2) offer you this license which gives you legal permission to
- copy, distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
- that everyone understands that there is no warranty for this free
- software. If the software is modified by someone else and passed on,
- we want its recipients to know that what they have is not the
- original, so that any problems introduced by others will not reflect
- on the original authors' reputations.
-
- The precise terms and conditions for copying, distribution and
- modification follow.
-
- TERMS AND CONDITIONS
-
- 1. This License Agreement applies to any program or other work
- which contains a notice placed by the copyright holder saying it
- may be distributed under the terms of this General Public
- License. The ``Program'', below, refers to any such program or
- work, and a ``work based on the Program'' means either the
- Program or any work containing the Program or a portion of it,
- either verbatim or with modifications. Each licensee is
- addressed as ``you''.
-
- 2. You may copy and distribute verbatim copies of the Program's
- source code as you receive it, in any medium, provided that you
- conspicuously and appropriately publish on each copy an
- appropriate copyright notice and disclaimer of warranty; keep
- intact all the notices that refer to this General Public License
- and to the absence of any warranty; and give any other
- recipients of the Program a copy of this General Public License
- along with the Program. You may charge a fee for the physical
- act of transferring a copy.
-
- 3. You may modify your copy or copies of the Program or any portion
- of it, and copy and distribute such modifications under the
- terms of Paragraph 1 above, provided that you also do the
- following:
-
- * cause the modified files to carry prominent notices stating
- that you changed the files and the date of any change; and
-
- * cause the whole of any work that you distribute or publish,
- that in whole or in part contains the Program or any part
- thereof, either with or without modifications, to be
- licensed at no charge to all third parties under the terms
- of this General Public License (except that you may choose
- to grant warranty protection to some or all third parties,
- at your option).
-
- * If the modified program normally reads commands
- interactively when run, you must cause it, when started
- running for such interactive use in the simplest and most
- usual way, to print or display an announcement including an
- appropriate copyright notice and a notice that there is no
- warranty (or else, saying that you provide a warranty) and
- that users may redistribute the program under these
- conditions, and telling the user how to view a copy of this
- General Public License.
-
- * You may charge a fee for the physical act of transferring a
- copy, and you may at your option offer warranty protection
- in exchange for a fee.
-
- Mere aggregation of another independent work with the Program
- (or its derivative) on a volume of a storage or distribution
- medium does not bring the other work under the scope of these
- terms.
-
- 4. You may copy and distribute the Program (or a portion or
- derivative of it, under Paragraph 2) in object code or
- executable form under the terms of Paragraphs 1 and 2 above
- provided that you also do one of the following:
-
- * accompany it with the complete corresponding
- machine-readable source code, which must be distributed
- under the terms of Paragraphs 1 and 2 above; or,
-
- * accompany it with a written offer, valid for at least three
- years, to give any third party free (except for a nominal
- charge for the cost of distribution) a complete
- machine-readable copy of the corresponding source code, to
- be distributed under the terms of Paragraphs 1 and 2 above;
- or,
-
- * accompany it with the information you received as to where
- the corresponding source code may be obtained. (This
- alternative is allowed only for noncommercial distribution
- and only if you received the program in object code or
- executable form alone.)
-
- Source code for a work means the preferred form of the work for
- making modifications to it. For an executable file, complete
- source code means all the source code for all modules it
- contains; but, as a special exception, it need not include
- source code for modules which are standard libraries that
- accompany the operating system on which the executable file
- runs, or for standard header files or definitions files that
- accompany that operating system.
-
- 5. You may not copy, modify, sublicense, distribute or transfer the
- Program except as expressly provided under this General Public
- License. Any attempt otherwise to copy, modify, sublicense,
- distribute or transfer the Program is void, and will
- automatically terminate your rights to use the Program under
- this License. However, parties who have received copies, or
- rights to use copies, from you under this General Public License
- will not have their licenses terminated so long as such parties
- remain in full compliance.
-
- 6. By copying, distributing or modifying the Program (or any work
- based on the Program) you indicate your acceptance of this
- license to do so, and all its terms and conditions.
-
- 7. Each time you redistribute the Program (or any work based on the
- Program), the recipient automatically receives a license from
- the original licensor to copy, distribute or modify the Program
- subject to these terms and conditions. You may not impose any
- further restrictions on the recipients' exercise of the rights
- granted herein.
-
- 8. The Free Software Foundation may publish revised and/or new
- versions of the General Public License from time to time. Such
- new versions will be similar in spirit to the present version,
- but may differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
- Program specifies a version number of the license which applies
- to it and ``any later version'', you have the option of
- following the terms and conditions either of that version or of
- any later version published by the Free Software Foundation. If
- the Program does not specify a version number of the license,
- you may choose any version ever published by the Free Software
- Foundation.
-
- 9. If you wish to incorporate parts of the Program into other free
- programs whose distribution conditions are different, write to
- the author to ask for permission. For software which is
- copyrighted by the Free Software Foundation, write to the Free
- Software Foundation; we sometimes make exceptions for this. Our
- decision will be guided by the two goals of preserving the free
- status of all derivatives of our free software and of promoting
- the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 10. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
- WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
- LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS IS''
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
- ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
- WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
- COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
- MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
- LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
- INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
- OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
- ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
- =======================================================
-
- If you develop a new program, and you want it to be of the greatest
- possible use to humanity, the best way to achieve this is to make it
- free software which everyone can redistribute and change under these
- terms.
-
- To do so, attach the following notices to the program. It is safest
- to attach them to the start of each source file to most effectively
- convey the exclusion of warranty; and each file should have at least
- the ``copyright'' line and a pointer to where the full notice is found.
-
- one line to give the program's name and a brief idea of what it does.
- Copyright (C) 19yy name of author
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 1, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- Also add information on how to contact you by electronic and paper
- mail.
-
- If the program is interactive, make it output a short notice like
- this when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
- The hypothetical commands `show w' and `show c' should show the
- appropriate parts of the General Public License. Of course, the
- commands you use may be called something other than `show w' and
- `show c'; they could even be mouse-clicks or menu items--whatever
- suits your program.
-
- You should also get your employer (if you work as a programmer) or
- your school, if any, to sign a ``copyright disclaimer'' for the
- program, if necessary. Here a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- program `Gnomovision' (a program to direct compilers to make passes
- at assemblers) written by James Hacker.
-
- signature of Ty Coon, 1 April 1989
- Ty Coon, President of Vice
-
- That's all there is to it!
-
-
- File: sort.info, Node: Introduction, Next: Installation, Prev: Copying, Up: Top
-
- General introduction to GNU `sort'.
- ***********************************
-
- This is an MS-DOS port of the (unreleased) external sort program for
- the GNU project, written by Mike Haertel.
-
- * *PLEASE NOTE*: Mike Haertel (the original author) allowed me to
- distribute this program under the condition that I make clear
- that this program has not been tested extensively and is to be
- considered as in a pre-alpha test state.
-
- I have decided to distribute this program anyway, because it
- outclasses *any* external sort program I have seen for MS-DOS: both
- in performance and functionality.
-
- * Performance:
-
- 1. When used with a fast (preferably cached) disk, this
- program is as fast as V. Buerg's `sortf' (if the latter is
- used with large, non default keys, GNU `sort' is
- *considerably* faster).
-
- 2. There are (almost) no build-in hard limits! (I have put
- one hard and one soft limit in the MS-DOS version, *note
- MS-DOS::.).
-
- * Functionality:
-
- 1. GNU `sort' works as a filter.
-
- 2. GNU `sort' has lots of *useful* options (*note Options::.).
-
- This distribution is different from the other ports of GNU software
- for MS-DOS: it contains the full, unabridged source code and no
- context diffs. This is because GNU `sort' has not yet been released
- by the Free Software Foundation, and therefore you can't pick up the
- official source from prep. But: *all* changes (which are very few)
- are conditionalized with `MSDOS'.
-
- Please send bug reports (preferably with fixes (*context* `diff''s!) to
-
- Thorsten Ohl
- <td12@ddagsi3.bitnet>
-
- I can make no promises to fix it immediately, but I might want to!
-
-
- File: sort.info, Node: Installation, Next: Options, Prev: Introduction, Up: Top
-
- How to install the MS-DOS version of GNU `sort'.
- ************************************************
-
- 1. Edit the following variables in the makefile
-
- `LIBS'
- Remove `glob.obj', `msd_dir.obj', and `_cwild.obj' if you
- don't have `glob.c', `msd_dir.c', `msd_dir.h', and
- `_cwild.c' from the other MS-DOS ports (e.g. fileutils), or
- if you do not want a reasonable filename globbing.
-
- `VPATH'
- Include path for `glob.c', `msd_dir.c', `msd_dir.h', and
- `_cwild.c' on *your* system. If you have a loosing (non
- GNU) `make' that doesn't understand `VPATH', copy the
- sources in your current directory.
-
- `CFLAGS, LDFLAGS'
- These are for the Microsoft C compiler Version 6.0, edit
- them for your system:
-
- `-AC'
- Compact memory model
-
- `-W4'
- Full warnings!
-
- `-Ocgilt'
- (Almost) maximal optimization.
-
- `-Za'
- `-DSTDC_HEADERS'
- ANSI C.
-
- `-DUSG'
- Microsoft's C looks more like System V than BSD.
-
- `/e'
- Pack the executable.
-
- `/st:0x8000'
- Large stack.
-
- `/noe'
- If duplicate symbols in object files and libraries,
- use the one from the object file.
-
- 2. Say `make'.
-
- That's all.
-
-
- File: sort.info, Node: Options, Next: MS-DOS, Prev: Installation, Up: Top
-
- Options for GNU `sort'
- **********************
-
- `sort' [-cmuV] [-t c] [-o `file'] [-T `dir']
- [-bdfiMnr] [+n [-m] ...] [`file' ...]
-
- The following is a guide to GNU `sort', *not* a collection of
- *documented options* that can be relied on.
-
- * Menu:
-
- * Global:: Options affecting all sort keys together.
- * Keys:: Specification of the sort keys.
- * Local:: Options for one or all sort keys.
-
-
- File: sort.info, Node: Global, Next: Keys, Up: Options
-
- Options affecting all sort keys
- ===============================
-
- `-c'
- Check sort order only.
-
- `-m'
- Merge presorted files (avoids resorting of already sorted files,
- which is generally a slow operation).
-
- `-o`file''
- Send output to `file' (overwriting).
-
- `-tc'
- Use c as field separator.
-
- `-T`prefix''
- Use `prefix' as prefix for temporary files (e.g.
- `prefix/sort3141.137'), default is `$TMP'.
-
- `-u'
- Delete duplicate lines from the output.
-
- `-V'
- Print the version string
-
- *Note Local:: for more options that can affect all keys.
-
-
- File: sort.info, Node: Keys, Next: Local, Prev: Global, Up: Options
-
- How to specify the sort keys
- ============================
-
- Keys are zero based, thus the first field has number 0, and so on.
-
- `+num1.num2'
- Start a new key at character num2 of field num1.
-
- `-num1.num2'
- Extend the key upto (not including) character num2 of field num1.
-
-
- File: sort.info, Node: Local, Prev: Keys, Up: Options
-
- Options affecting one or all sort keys
- ======================================
-
- These option apply either globally to all sort keys (if they are
- specified before the keys on the command line), or to a single key
- (if they are appended to the key specification).
-
- `-b'
- Skip white space.
-
- `-d'
- Dictionary mode: ignore punctuation.
-
- `-f'
- Fold to lowercase.
-
- `-i'
- Ignore nonprinting characters.
-
- `-M'
- Sort as english (three character) month names.
-
- `-n'
- Sort numrically.
-
- `-r'
- Sort in reverse.
-
-
- File: sort.info, Node: MS-DOS, Prev: Options, Up: Top
-
- How the MS-DOS version differs
- ******************************
-
- * The maximum line length has been reduced to 32k. While the
- introduction of arbitrary upper limits is alien to the GNU
- project, this particular limit seems to be o.k. for MS-DOS
- applications and tremendously decreases the number of required
- changes in the original source.
-
- * The maximum number of lines per input buffer is restricted to
- about 4000. This limit can only be reached by files with an
- average linelength smaller that 8 characters. To allow the
- sorting of such files, the following option has been included to
- reduce the input buffer size:
-
- `-S num'
- Set the input buffer size (default 32k) to num.
-
- Tag Table:
- Node: Top1085
- Node: Copying1332
- Node: Introduction14663
- Node: Installation16459
- Node: Options17924
- Node: Global18412
- Node: Keys19047
- Node: Local19403
- Node: MS-DOS19988
- End Tag Table
-