These are the GNU text file (actually, file contents) processing
utilities.  Most of these programs have significant advantages over
their Unix counterparts, such as greater speed, additional options,
and fewer arbitrary limits.

The programs that can be built with this package are: cat, cksum, comm,
csplit, cut, expand, fmt, fold, head, join, md5sum, nl, od, paste, pr,
sort, split, sum, tac, tail, tr, unexpand, uniq, and wc.

See the file NEWS for a list of major changes in the current release.

See the file INSTALL for compilation and installation instructions.

If you are using a version of the Linux libc that predates 4.4.1,
you should get a newer version.  The old libraries contain getopt
functions that are incompatible with several of these utilities.  For
instance, when built with the obsolete getopt functions, `tail +10' and
`uniq +3' will give usage errors instead of the expected results.

There is a known bug in the pr program.  It doesn't work properly when
the first character in an input file is a form feed.


    ===================
     I M P O R T A N T
    ===================

    If you are building with gcc-2.7.2, when you run configure you
    should expect[*] to see this line (along with lots of others):

      checking for working const... no

    That means configure has detected that gcc-2.7.2 generates bad code
    for certain uses of `const' casts.  To work around that problem,
    configure arranges for the `const' keyword to be defined away.
    An unfortunately side effect is that during subsequent compiles
    (when you type `make') you'll see many harmless warnings like this:

      ... warning: conflicting types for built-in function `memcpy'
      ... warning: conflicting types for built-in function `strcpy'
      ... warning: conflicting types for built-in function `memcmp'

    You may safely ignore such warnings.
    Please do not report them as problems.

    -------
    [*] If you don't see that exact line, but instead you see this:

       checking for working const... (cached) yes

    it's because you're using a cache file.  Although that may be ok --
    if no function in this package uses the C construct that exercises
    the bug -- you may not want to risk it.  To err on the side of
    caution, you should run configure with the `--cache-file=/dev/null'
    option.


The textutils are intended to be POSIX.2 compliant (with BSD and other
extensions), like the rest of the GNU system.  They are almost there,
but a few incompatibilities remain.

Note that the distributed man pages are no longer being updated.
The authoritative documentation is in texinfo form in the doc directory.

These programs all recognize the `--version' option.  When reporting
bugs, please include in the subject line both the package name/version
and the name of the program for which you found a problem.

For general documentation on the coding and usage standards this
distribution follows, see the GNU standards document on
prep.ai.mit.edu:pub/gnu/standards.*, especially the `Makefile
Conventions', `Configuration', and `User Interfaces' sections.

Mail suggestions and bug reports for these programs to
bug-gnu-utils@prep.ai.mit.edu.
