diff options
author | bapt <bapt@FreeBSD.org> | 2015-01-02 18:45:03 +0000 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2015-01-02 18:45:03 +0000 |
commit | 2f94824303058b32c1056ce52333d8c339423304 (patch) | |
tree | 0a376369b34e9959bf6c234331c325fc6b9cde60 /gnu | |
parent | 49eaa137e569415dcea2b6a128bc8560184aa088 (diff) | |
download | FreeBSD-src-2f94824303058b32c1056ce52333d8c339423304.zip FreeBSD-src-2f94824303058b32c1056ce52333d8c339423304.tar.gz |
Remove GNU texinfo from base along with all info pages.
To be able to info pages consider installing texinfo from ports print/texinfo or
via pkg: pkg install texinfo
Differential Revision: https://reviews.freebsd.org/D1409
Reviewed by: emaste, imp (previous version)
Relnotes: yes
Diffstat (limited to 'gnu')
24 files changed, 6 insertions, 2455 deletions
diff --git a/gnu/usr.bin/Makefile b/gnu/usr.bin/Makefile index a320191..470b612 100644 --- a/gnu/usr.bin/Makefile +++ b/gnu/usr.bin/Makefile @@ -14,8 +14,7 @@ SUBDIR= ${_binutils} \ ${_groff} \ ${_rcs} \ sdiff \ - ${_tests} \ - ${_texinfo} + ${_tests} .if ${MK_CXX} != "no" .if ${MK_GCC} != "no" @@ -30,10 +29,6 @@ _groff= groff _dtc= dtc .endif -.if ${MK_INFO} != "no" -_texinfo= texinfo -.endif - .if ${MK_RCS} != "no" _rcs= rcs .endif diff --git a/gnu/usr.bin/binutils/Makefile b/gnu/usr.bin/binutils/Makefile index 9dac244..3cf4810 100644 --- a/gnu/usr.bin/binutils/Makefile +++ b/gnu/usr.bin/binutils/Makefile @@ -15,9 +15,8 @@ SUBDIR= libiberty \ readelf \ ${_size} \ ${_strings} \ - ${_strip} \ - doc - + ${_strip} + .if ${MK_ELFTOOLCHAIN_TOOLS} == "no" _addr2line= addr2line _nm= nm diff --git a/gnu/usr.bin/binutils/doc/Makefile b/gnu/usr.bin/binutils/doc/Makefile deleted file mode 100644 index 38c1b8b..0000000 --- a/gnu/usr.bin/binutils/doc/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# $FreeBSD$ - -.include "../Makefile.inc0" - -.PATH: ${SRCDIR}/gas/doc ${SRCDIR}/ld ${SRCDIR}/bfd/doc - -INFO= as ld binutils -INFOSECTION= "Programming & development tools." -INFOENTRY_as= "* As: (as). The GNU assembler." -INFOENTRY_ld= "* Ld: (ld). The GNU linker." -INFOENTRY_binutils= "* Binutils: (binutils). The GNU Binary Utilities." - -MAKEINFOFLAGS+= --no-validate -MAKEINFOFLAGS+= -I ${SRCDIR}/libiberty -MAKEINFOFLAGS+= -I ${SRCDIR}/bfd/doc - -CLEANFILES= bfdver.texi configdoc.texi config.texi gasver.texi ldver.texi - -as.info: as.texinfo asconfig.texi bfdver.texi c-i386.texi gasver.texi -ld.info: ld.texinfo bfdsumm.texi ldver.texi configdoc.texi - -configdoc.texi: gen-doc.texi - ln -sf ${.ALLSRC} ${.TARGET} - -.PATH: ${SRCDIR}/binutils/doc -binutils.info: binutils.texi config.texi - -bfdver.texi config.texi gasver.texi ldver.texi: - echo "@set VERSION ${VERSION}" > ${.TARGET} - -.include <bsd.info.mk> diff --git a/gnu/usr.bin/binutils/doc/asconfig.texi b/gnu/usr.bin/binutils/doc/asconfig.texi deleted file mode 100644 index f3fcf34..0000000 --- a/gnu/usr.bin/binutils/doc/asconfig.texi +++ /dev/null @@ -1,90 +0,0 @@ -@c $FreeBSD$ -@c Copyright 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2002, -@c 2003, 2005 -@c Free Software Foundation, Inc. -@c This file is part of the documentation for the GAS manual - -@c Configuration settings for all-inclusive version of manual - -@c switches:------------------------------------------------------------ -@c Properties of the manual -@c ======================== -@c Discuss all architectures? -@clear ALL-ARCH -@c A generic form of manual (not tailored to specific target)? -@clear GENERIC -@c Include text on assembler internals? -@set INTERNALS -@c Many object formats supported in this config? -@clear MULTI-OBJ - -@c Object formats of interest -@c ========================== -@clear AOUT -@clear COFF -@set ELF -@clear SOM - -@c CPUs of interest -@c ================ -@clear ALPHA -@clear ARC -@set ARM -@clear BFIN -@clear CRIS -@clear D10V -@clear D30V -@clear H8/300 -@clear HPPA -@clear I370 -@set I80386 -@clear I860 -@clear I960 -@set IA64 -@clear IP2K -@clear M32C -@clear M32R -@clear xc16x -@clear M68HC11 -@clear M680X0 -@clear MCORE -@set MIPS -@clear MMIX -@clear MS1 -@clear MSP430 -@clear PDP11 -@clear PJ -@set PPC -@clear SH -@set SPARC -@clear TIC54X -@clear V850 -@clear VAX -@clear XTENSA -@clear Z80 -@clear Z8000 - -@c Does this version of the assembler use the difference-table kludge? -@clear DIFF-TBL-KLUGE - -@c Do all machines described use IEEE floating point? -@clear IEEEFLOAT - -@c Is a word 32 bits, or 16? -@set W32 -@clear W16 - -@c Do symbols have different characters than usual? -@clear SPECIAL-SYMS - -@c strings:------------------------------------------------------------ -@c Name of the assembler: -@set AS as -@c Name of C compiler: -@set GCC gcc -@c Name of linker: -@set LD ld -@c Text for target machine (best not used in generic case; but just in case...) -@set TARGET machine specific -@c Name of object format NOT SET in generic version -@set OBJ-NAME ELF diff --git a/gnu/usr.bin/cc/Makefile b/gnu/usr.bin/cc/Makefile index 8191ea4..abc9876 100644 --- a/gnu/usr.bin/cc/Makefile +++ b/gnu/usr.bin/cc/Makefile @@ -5,7 +5,7 @@ # The order of some of these are rather important. Some depend on previous # subdirs. -SUBDIR= cc_tools libiberty libcpp libdecnumber cc_int cc cc1 include doc +SUBDIR= cc_tools libiberty libcpp libdecnumber cc_int cc cc1 include .if ${MK_CPP} != "no" SUBDIR+= cpp diff --git a/gnu/usr.bin/cc/doc/Makefile b/gnu/usr.bin/cc/doc/Makefile deleted file mode 100644 index a56231b..0000000 --- a/gnu/usr.bin/cc/doc/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -# $FreeBSD$ - -.include <bsd.own.mk> - -.include "../Makefile.inc" -.include "../Makefile.ver" - -.PATH: ${GCCDIR}/doc ${GCCDIR}/doc/include - -INFO= gcc cpp gccint cppinternals - -INFOSECTION= "Gcc Documentation" -INFOENTRY_gcc= "* gcc: (gcc). The GNU C compiler." -INFOENTRY_cpp= "* cpp: (cpp). The GNU C pre-processor." -INFOENTRY_gccint= "* gccint: (gccint). The GNU compiler family internal documentation." -INFOENTRY_cppinternals= "* cppinternals: (cppinternals). The GNU compiler preprocessor internal documentation." - -gcc.info: gcc.texi gcc-common.texi gcc-vers.texi frontends.texi \ - standards.texi invoke.texi extend.texi md.texi \ - gcov.texi trouble.texi bugreport.texi service.texi \ - contribute.texi compat.texi funding.texi gnu.texi gpl.texi \ - fdl.texi contrib.texi cppenv.texi cppopts.texi \ - implement-c.texi - -gccint.info: gccint.texi gcc-common.texi gcc-vers.texi \ - contribute.texi makefile.texi configterms.texi options.texi \ - portability.texi interface.texi passes.texi c-tree.texi \ - rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \ - configfiles.texi collect2.texi headerdirs.texi funding.texi \ - gnu.texi gpl.texi fdl.texi contrib.texi languages.texi \ - sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi \ - loop.texi - -cpp.info: cpp.texi fdl.texi cppenv.texi cppopts.texi gcc-common.texi \ - gcc-vers.texi - -cppinternals.info: cppinternals.texi gcc-common.texi gcc-vers.texi - -MAKEINFOFLAGS+= -I ${GCCDIR}/doc -I ${GCCDIR}/doc/include - -gcc-vers.texi: - (echo "@set version-GCC $(BASEVER)"; \ - if [ "$(DEVPHASE)" = "experimental" ]; then \ - echo "@set DEVELOPMENT"; \ - else \ - echo "@clear DEVELOPMENT"; \ - fi; \ - echo "@set srcdir $(GCCLIB)/libiberty" ) > ${.TARGET} - -CLEANFILES+= gcc-vers.texi - -.include <bsd.info.mk> diff --git a/gnu/usr.bin/gdb/Makefile b/gnu/usr.bin/gdb/Makefile index 33f81cb..35ee5fb 100644 --- a/gnu/usr.bin/gdb/Makefile +++ b/gnu/usr.bin/gdb/Makefile @@ -1,6 +1,6 @@ # $FreeBSD$ -SUBDIR= doc libgdb gdb gdbtui kgdb +SUBDIR= libgdb gdb gdbtui kgdb .if exists(${.CURDIR}/gdbserver/reg-${MACHINE_CPUARCH}.c) SUBDIR+=gdbserver diff --git a/gnu/usr.bin/gdb/doc/Makefile b/gnu/usr.bin/gdb/doc/Makefile deleted file mode 100644 index 626f02d..0000000 --- a/gnu/usr.bin/gdb/doc/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# $FreeBSD$ - -INFO= gdb gdbint stabs -INFOSECTION= "Software development" - -MAKEINFOFLAGS+= --no-validate -MAKEINFOFLAGS+= -I ${CNTRB_GDB}/gdb/doc -MAKEINFOFLAGS+= -I ${CNTRB_GDB}/gdb/mi -MAKEINFOFLAGS+= -I ${CNTRB_RL}/doc - -gdb.info: gdb.texinfo gdb-cfg.texi GDBvn.texi annotate.texinfo fdl.texi \ - gpl.texi inc-hist.texinfo rluser.texinfo - -gdbint.info: gdbint.texinfo gdb-cfg.texi fdl.texi observer.texi - -gdb-cfg.texi: all-cfg.texi - ln -sf ${.ALLSRC} ${.TARGET} - -GDBvn.texi: version.in - echo "@set GDBVN `sed q ${.ALLSRC}`" > ${.TARGET} - -inc-hist.texinfo: hsuser.texi inc-hist.diff - cp -f ${.ALLSRC:M*.texi} ${.TARGET} - patch < ${.ALLSRC:M*.diff} - -rluser.texinfo: rluser.texi - cp -f ${.ALLSRC:M*.texi} ${.TARGET} - -CLEANFILES= gdb-cfg.texi GDBvn.texi inc-hist.texinfo inc-hist.texinfo.orig \ - rluser.texinfo - -.include <bsd.info.mk> diff --git a/gnu/usr.bin/gdb/doc/inc-hist.diff b/gnu/usr.bin/gdb/doc/inc-hist.diff deleted file mode 100644 index 923f973..0000000 --- a/gnu/usr.bin/gdb/doc/inc-hist.diff +++ /dev/null @@ -1,31 +0,0 @@ -$FreeBSD$ - ---- inc-hist.texinfo.orig Wed Apr 11 08:20:01 2001 -+++ inc-hist.texinfo Wed Apr 11 08:21:57 2001 -@@ -26,9 +26,9 @@ - @node Using History Interactively - @chapter Using History Interactively - --@ifclear BashFeatures --@defcodeindex bt --@end ifclear -+@c @ifclear BashFeatures -+@c @defcodeindex bt -+@c @end ifclear - - @ifset BashFeatures - This chapter describes how to use the @sc{gnu} History Library -@@ -39,9 +39,10 @@ - @end ifset - @ifclear BashFeatures - This chapter describes how to use the @sc{gnu} History Library interactively, --from a user's standpoint. It should be considered a user's guide. For --information on using the @sc{gnu} History Library in your own programs, --@pxref{Programming with GNU History}. -+from a user's standpoint. -+@c It should be considered a user's guide. For -+@c information on using the @sc{gnu} History Library in your own programs, -+@c @pxref{Programming with GNU History}. - @end ifclear - - @ifset BashFeatures diff --git a/gnu/usr.bin/grep/Makefile b/gnu/usr.bin/grep/Makefile index 3669d1f..ebdb327 100644 --- a/gnu/usr.bin/grep/Makefile +++ b/gnu/usr.bin/grep/Makefile @@ -45,8 +45,6 @@ MLINKS+=grep.1 zgrep.1 grep.1 zegrep.1 grep.1 zfgrep.1 gnugrep.1: grep.1 cp ${.ALLSRC} ${.TARGET} -SUBDIR+=doc - check: all @failed=0; total=0; \ for tst in ${TESTS}; do \ diff --git a/gnu/usr.bin/grep/doc/Makefile b/gnu/usr.bin/grep/doc/Makefile deleted file mode 100644 index 82620f9..0000000 --- a/gnu/usr.bin/grep/doc/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -INFO= grep -INFOSECTION= "System Utilities" - -.include <bsd.info.mk> diff --git a/gnu/usr.bin/grep/doc/grep.texi b/gnu/usr.bin/grep/doc/grep.texi deleted file mode 100644 index 32b27c4..0000000 --- a/gnu/usr.bin/grep/doc/grep.texi +++ /dev/null @@ -1,2090 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@c %**start of header -@setfilename grep.info -@settitle grep, print lines matching a pattern -@c %**end of header - -@c This file has the new style title page commands. -@c Run `makeinfo' rather than `texinfo-format-buffer'. - -@c smallbook - -@c tex -@c \overfullrule=0pt -@c end tex - -@include version.texi - -@c Combine indices. -@syncodeindex ky cp -@syncodeindex pg cp -@syncodeindex tp cp - -@defcodeindex op -@syncodeindex op fn -@syncodeindex vr fn - -@ifinfo -@direntry -* grep: (grep). print lines matching a pattern. -@end direntry -This file documents @command{grep}, a pattern matching engine. - - -Published by the Free Software Foundation, -59 Temple Place - Suite 330 -Boston, MA 02111-1307, USA - -@c man begin COPYRIGHT -Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc. - -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. - -@ignore -Permission is granted to process this file through TeX and print the -results, provided the printed document carries a copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'' and ``GNU Free -Documentation License'', with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the section -entitled ``GNU Free Documentation License'' (@pxref{Copying}). -@c man end -@end ifinfo - -@setchapternewpage off - -@titlepage -@title grep, searching for a pattern -@subtitle version @value{VERSION}, @value{UPDATED} -@author Alain Magloire et al. - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc. - -@sp 2 -Published by the Free Software Foundation, @* -59 Temple Place - Suite 330, @* -Boston, MA 02111-1307, USA - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'' and ``GNU Free -Documentation License'', with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the section -entitled ``GNU Free Documentation License''. -@end titlepage - - -@ifnottex -@node Top -@top Grep - -@command{grep} searches for lines matching a pattern. - -This document was produced for version @value{VERSION} of @sc{gnu} -@command{grep}. -@end ifnottex - -@menu -* Introduction:: Introduction. -* Invoking:: Invoking @command{grep}; description of options. -* Diagnostics:: Exit status returned by @command{grep}. -* Grep Programs:: @command{grep} programs. -* Regular Expressions:: Regular Expressions. -* Usage:: Examples. -* Reporting Bugs:: Reporting Bugs. -* Copying:: License terms. -* Concept Index:: A menu with all the topics in this manual. -* Index:: A menu with all @command{grep} commands - and command-line options. -@end menu - - -@node Introduction, Invoking, Top, Top -@chapter Introduction - -@cindex Searching for a pattern. - -@command{grep} searches the input files -for lines containing a match to a given -pattern list. When it finds a match in a line, it copies the line to standard -output (by default), or does whatever other sort of output you have requested -with options. - -Though @command{grep} expects to do the matching on text, -it has no limits on input line length other than available memory, -and it can match arbitrary characters within a line. -If the final byte of an input file is not a newline, -@command{grep} silently supplies one. -Since newline is also a separator for the list of patterns, there -is no way to match newline characters in a text. - -@node Invoking -@chapter Invoking @command{grep} - -@command{grep} comes with a rich set of options from @sc{posix.2} and @sc{gnu} -extensions. - -@table @samp - -@item -c -@itemx --count -@opindex -c -@opindex --count -@cindex counting lines -Suppress normal output; instead print a count of matching -lines for each input file. With the @samp{-v}, @samp{--invert-match} option, -count non-matching lines. - -@item -e @var{pattern} -@itemx --regexp=@var{pattern} -@opindex -e -@opindex --regexp=@var{pattern} -@cindex pattern list -Use @var{pattern} as the pattern; useful to protect patterns -beginning with a @samp{-}. - -@item -f @var{file} -@itemx --file=@var{file} -@opindex -f -@opindex --file -@cindex pattern from file -Obtain patterns from @var{file}, one per line. The empty -file contains zero patterns, and therefore matches nothing. - -@item -i -@itemx --ignore-case -@opindex -i -@opindex --ignore-case -@cindex case insensitive search -Ignore case distinctions in both the pattern and the input files. - -@item -l -@itemx --files-with-matches -@opindex -l -@opindex --files-with-matches -@cindex names of matching files -Suppress normal output; instead print the name of each input -file from which output would normally have been printed. -The scanning of every file will stop on the first match. - -@item -n -@itemx --line-number -@opindex -n -@opindex --line-number -@cindex line numbering -Prefix each line of output with the line number within its input file. - -@item -o -@itemx --only-matching -@opindex -o -@opindex --only-matching -@cindex only matching -Print only the part of matching lines that actually matches @var{pattern}. - -@item -q -@itemx --quiet -@itemx --silent -@opindex -q -@opindex --quiet -@opindex --silent -@cindex quiet, silent -Quiet; do not write anything to standard output. Exit immediately with -zero status if any match is found, even if an error was detected. Also -see the @samp{-s} or @samp{--no-messages} option. - -@item -s -@itemx --no-messages -@opindex -s -@opindex --no-messages -@cindex suppress error messages -Suppress error messages about nonexistent or unreadable files. -Portability note: unlike @sc{gnu} @command{grep}, traditional -@command{grep} did not conform to @sc{posix.2}, because traditional -@command{grep} lacked a @samp{-q} option and its @samp{-s} option behaved -like @sc{gnu} @command{grep}'s @samp{-q} option. Shell scripts intended -to be portable to traditional @command{grep} should avoid both -@samp{-q} and @samp{-s} and should redirect -output to @file{/dev/null} instead. - -@item -v -@itemx --invert-match -@opindex -v -@opindex --invert-match -@cindex invert matching -@cindex print non-matching lines -Invert the sense of matching, to select non-matching lines. - -@item -x -@itemx --line-regexp -@opindex -x -@opindex --line-regexp -@cindex match the whole line -Select only those matches that exactly match the whole line. - -@end table - -@section @sc{gnu} Extensions - -@table @samp - -@item -A @var{num} -@itemx --after-context=@var{num} -@opindex -A -@opindex --after-context -@cindex after context -@cindex context lines, after match -Print @var{num} lines of trailing context after matching lines. - -@item -B @var{num} -@itemx --before-context=@var{num} -@opindex -B -@opindex --before-context -@cindex before context -@cindex context lines, before match -Print @var{num} lines of leading context before matching lines. - -@item -C @var{num} -@itemx --context=@var{num} -@opindex -C -@opindex --context -@cindex context -Print @var{num} lines of output context. - -@item --colour[=@var{WHEN}] -@itemx --color[=@var{WHEN}] -@opindex --colour -@cindex highlight, color, colour -The matching string is surrounded by the marker specify in @var{GREP_COLOR}. -@var{WHEN} may be `never', `always', or `auto'. - -@item -@var{num} -@opindex -NUM -Same as @samp{--context=@var{num}} lines of leading and trailing -context. However, grep will never print any given line more than once. - - -@item -V -@itemx --version -@opindex -V -@opindex --version -@cindex Version, printing -Print the version number of @command{grep} to the standard output stream. -This version number should be included in all bug reports. - -@item --help -@opindex --help -@cindex Usage summary, printing -Print a usage message briefly summarizing these command-line options -and the bug-reporting address, then exit. - -@itemx --binary-files=@var{type} -@opindex --binary-files -@cindex binary files -If the first few bytes of a file indicate that the file contains binary -data, assume that the file is of type @var{type}. By default, -@var{type} is @samp{binary}, and @command{grep} normally outputs either -a one-line message saying that a binary file matches, or no message if -there is no match. If @var{type} is @samp{without-match}, -@command{grep} assumes that a binary file does not match; -this is equivalent to the @samp{-I} option. If @var{type} -is @samp{text}, @command{grep} processes a binary file as if it were -text; this is equivalent to the @samp{-a} option. -@emph{Warning:} @samp{--binary-files=text} might output binary garbage, -which can have nasty side effects if the output is a terminal and if the -terminal driver interprets some of it as commands. - -@item -b -@itemx --byte-offset -@opindex -b -@opindex --byte-offset -@cindex byte offset -Print the byte offset within the input file before each line of output. -When @command{grep} runs on @sc{ms-dos} or MS-Windows, the printed -byte offsets -depend on whether the @samp{-u} (@samp{--unix-byte-offsets}) option is -used; see below. - -@item -D @var{action} -@itemx --devices=@var{action} -@opindex -D -@opindex --devices -@cindex device search -If an input file is a device, FIFO or socket, use @var{action} to process it. -By default, @var{action} is @samp{read}, which means that devices are -read just as if they were ordinary files. -If @var{action} is @samp{skip}, devices, FIFOs and sockets are silently -skipped. - -@item -d @var{action} -@itemx --directories=@var{action} -@opindex -d -@opindex --directories -@cindex directory search -If an input file is a directory, use @var{action} to process it. -By default, @var{action} is @samp{read}, which means that directories are -read just as if they were ordinary files (some operating systems -and filesystems disallow this, and will cause @command{grep} to print error -messages for every directory or silently skip them). If @var{action} is -@samp{skip}, directories are silently skipped. If @var{action} is -@samp{recurse}, @command{grep} reads all files under each directory, -recursively; this is equivalent to the @samp{-r} option. - -@item -H -@itemx --with-filename -@opindex -H -@opindex --With-filename -@cindex with filename prefix -Print the filename for each match. - -@item -h -@itemx --no-filename -@opindex -h -@opindex --no-filename -@cindex no filename prefix -Suppress the prefixing of filenames on output when multiple files are searched. - -@item --line-buffered -@opindex --line-buffered -@cindex line buffering -Set the line buffering policy, this can be a performance penality. - -@item --label=@var{LABEL} -@opindex --label -@cindex changing name of standard input -Displays input actually coming from standard input as input coming from file -@var{LABEL}. This is especially useful for tools like zgrep, e.g. -@command{gzip -cd foo.gz |grep --label=foo something} - -@item -L -@itemx --files-without-match -@opindex -L -@opindex --files-without-match -@cindex files which don't match -Suppress normal output; instead print the name of each input -file from which no output would normally have been printed. -The scanning of every file will stop on the first match. - -@item -a -@itemx --text -@opindex -a -@opindex --text -@cindex suppress binary data -@cindex binary files -Process a binary file as if it were text; this is equivalent to the -@samp{--binary-files=text} option. - -@item -I -Process a binary file as if it did not contain matching data; this is -equivalent to the @samp{--binary-files=without-match} option. - -@item -w -@itemx --word-regexp -@opindex -w -@opindex --word-regexp -@cindex matching whole words -Select only those lines containing matches that form -whole words. The test is that the matching substring -must either be at the beginning of the line, or preceded -by a non-word constituent character. Similarly, -it must be either at the end of the line or followed by -a non-word constituent character. Word-constituent -characters are letters, digits, and the underscore. - -@item -r -@itemx -R -@itemx --recursive -@opindex -r -@opindex --recursive -@cindex recursive search -@cindex searching directory trees -For each directory mentioned in the command line, read and process all -files in that directory, recursively. This is the same as the -@samp{--directories=recurse} option. - -@item --include=@var{file_pattern} -@opindex --include -@cindex include files -@cindex searching directory trees -When processing directories recursively, only files matching @var{file_pattern} -will be search. - -@item --exclude=@var{file_pattern} -@opindex --exclude -@cindex exclude files -@cindex searching directory trees -When processing directories recursively, skip files matching @var{file_pattern}. - -@item -m @var{num} -@itemx --max-count=@var{num} -@opindex -m -@opindex --max-count -@cindex max-count -Stop reading a file after @var{num} matching lines. If the input is -standard input from a regular file, and @var{num} matching lines are -output, @command{grep} ensures that the standard input is positioned to -just after the last matching line before exiting, regardless of the -presence of trailing context lines. This enables a calling process -to resume a search. For example, the following shell script makes use -of it: - -@example -while grep -m 1 PATTERN -do - echo xxxx -done < FILE -@end example - -But the following probably will not work because a pipe is not a regular -file: - -@example -# This probably will not work. -cat FILE | -while grep -m 1 PATTERN -do - echo xxxx -done -@end example - -When @command{grep} stops after NUM matching lines, it outputs -any trailing context lines. Since context does not include matching -lines, @command{grep} will stop when it encounters another matching line. -When the @samp{-c} or @samp{--count} option is also used, -@command{grep} does not output a count greater than @var{num}. -When the @samp{-v} or @samp{--invert-match} option is -also used, @command{grep} stops after outputting @var{num} -non-matching lines. - -@item -y -@opindex -y -@cindex case insensitive search, obsolete option -Obsolete synonym for @samp{-i}. - -@item -U -@itemx --binary -@opindex -U -@opindex --binary -@cindex DOS/Windows binary files -@cindex binary files, DOS/Windows -Treat the file(s) as binary. By default, under @sc{ms-dos} -and MS-Windows, @command{grep} guesses the file type by looking -at the contents of the first 32kB read from the file. -If @command{grep} decides the file is a text file, it strips the -@code{CR} characters from the original file contents (to make -regular expressions with @code{^} and @code{$} work correctly). -Specifying @samp{-U} overrules this guesswork, causing all -files to be read and passed to the matching mechanism -verbatim; if the file is a text file with @code{CR/LF} pairs -at the end of each line, this will cause some regular -expressions to fail. This option has no effect on platforms other than -@sc{ms-dos} and MS-Windows. - -@item -u -@itemx --unix-byte-offsets -@opindex -u -@opindex --unix-byte-offsets -@cindex DOS byte offsets -@cindex byte offsets, on DOS/Windows -Report Unix-style byte offsets. This switch causes -@command{grep} to report byte offsets as if the file were Unix style -text file, i.e., the byte offsets ignore the @code{CR} characters which were -stripped. This will produce results identical to running @command{grep} on -a Unix machine. This option has no effect unless @samp{-b} -option is also used; it has no effect on platforms other than @sc{ms-dos} and -MS-Windows. - -@item --mmap -@opindex --mmap -@cindex memory mapped input -If possible, use the @code{mmap} system call to read input, instead of -the default @code{read} system call. In some situations, @samp{--mmap} -yields better performance. However, @samp{--mmap} can cause undefined -behavior (including core dumps) if an input file shrinks while -@command{grep} is operating, or if an I/O error occurs. - -@item -Z -@itemx --null -@opindex -Z -@opindex --null -@cindex zero-terminated file names -Output a zero byte (the @sc{ascii} @code{NUL} character) instead of the -character that normally follows a file name. For example, @samp{grep --lZ} outputs a zero byte after each file name instead of the usual -newline. This option makes the output unambiguous, even in the presence -of file names containing unusual characters like newlines. This option -can be used with commands like @samp{find -print0}, @samp{perl -0}, -@samp{sort -z}, and @samp{xargs -0} to process arbitrary file names, -even those that contain newline characters. - -@item -z -@itemx --null-data -@opindex -z -@opindex --null-data -@cindex zero-terminated lines -Treat the input as a set of lines, each terminated by a zero byte (the -@sc{ascii} @code{NUL} character) instead of a newline. Like the @samp{-Z} -or @samp{--null} option, this option can be used with commands like -@samp{sort -z} to process arbitrary file names. - -@end table - -Several additional options control which variant of the @command{grep} -matching engine is used. @xref{Grep Programs}. - -@section Environment Variables - -Grep's behavior is affected by the following environment variables. - -A locale @code{LC_@var{foo}} is specified by examining the three -environment variables @env{LC_ALL}, @env{LC_@var{foo}}, and @env{LANG}, -in that order. The first of these variables that is set specifies the -locale. For example, if @env{LC_ALL} is not set, but @env{LC_MESSAGES} -is set to @samp{pt_BR}, then Brazilian Portuguese is used for the -@code{LC_MESSAGES} locale. The C locale is used if none of these -environment variables are set, or if the locale catalog is not -installed, or if @command{grep} was not compiled with national language -support (@sc{nls}). - -@cindex environment variables - -@table @env - -@item GREP_OPTIONS -@vindex GREP_OPTIONS -@cindex default options environment variable -This variable specifies default options to be placed in front of any -explicit options. For example, if @code{GREP_OPTIONS} is -@samp{--binary-files=without-match --directories=skip}, @command{grep} -behaves as if the two options @samp{--binary-files=without-match} and -@samp{--directories=skip} had been specified before -any explicit options. Option specifications are separated by -whitespace. A backslash escapes the next character, so it can be used to -specify an option containing whitespace or a backslash. - -@item GREP_COLOR -@vindex GREP_COLOR -@cindex highlight markers -This variable specifies the surrounding markers use to highlight the matching -text. The default is control ascii red. - -@item LC_ALL -@itemx LC_COLLATE -@itemx LANG -@vindex LC_ALL -@vindex LC_COLLATE -@vindex LANG -@cindex character type -@cindex national language support -@cindex NLS -These variables specify the @code{LC_COLLATE} locale, which determines -the collating sequence used to interpret range expressions like -@samp{[a-z]}. - -@item LC_ALL -@itemx LC_CTYPE -@itemx LANG -@vindex LC_ALL -@vindex LC_CTYPE -@vindex LANG -@cindex character type -@cindex national language support -@cindex NLS -These variables specify the @code{LC_CTYPE} locale, which determines the -type of characters, e.g., which characters are whitespace. - -@item LC_ALL -@itemx LC_MESSAGES -@itemx LANG -@vindex LC_ALL -@vindex LC_MESSAGES -@vindex LANG -@cindex language of messages -@cindex message language -@cindex national language support -@cindex NLS -@cindex translation of message language -These variables specify the @code{LC_MESSAGES} locale, which determines -the language that @command{grep} uses for messages. The default C -locale uses American English messages. - -@item POSIXLY_CORRECT -@vindex POSIXLY_CORRECT -If set, @command{grep} behaves as @sc{posix.2} requires; otherwise, -@command{grep} behaves more like other @sc{gnu} programs. @sc{posix.2} -requires that options that -follow file names must be treated as file names; by default, such -options are permuted to the front of the operand list and are treated as -options. Also, @sc{posix.2} requires that unrecognized options be -diagnosed as -``illegal'', but since they are not really against the law the default -is to diagnose them as ``invalid''. @code{POSIXLY_CORRECT} also -disables @code{_@var{N}_GNU_nonoption_argv_flags_}, described below. - -@item _@var{N}_GNU_nonoption_argv_flags_ -@vindex _@var{N}_GNU_nonoption_argv_flags_ -(Here @code{@var{N}} is @command{grep}'s numeric process ID.) If the -@var{i}th character of this environment variable's value is @samp{1}, do -not consider the @var{i}th operand of @command{grep} to be an option, even if -it appears to be one. A shell can put this variable in the environment -for each command it runs, specifying which operands are the results of -file name wildcard expansion and therefore should not be treated as -options. This behavior is available only with the @sc{gnu} C library, and -only when @code{POSIXLY_CORRECT} is not set. - -@end table - -@node Diagnostics -@chapter Diagnostics - -Normally, exit status is 0 if selected lines are found and 1 otherwise. -But the exit status is 2 if an error occurred, unless the @option{-q} or -@option{--quiet} or @option{--silent} option is used and a selected line -is found. - -@node Grep Programs -@chapter @command{grep} programs - -@command{grep} searches the named input files (or standard input if no -files are named, or the file name @file{-} is given) for lines containing -a match to the given pattern. By default, @command{grep} prints the -matching lines. There are four major variants of @command{grep}, -controlled by the following options. - -@table @samp - -@item -G -@itemx --basic-regexp -@opindex -G -@opindex --basic-regexp -@cindex matching basic regular expressions -Interpret the pattern as a basic regular expression. This is the default. - -@item -E -@itemx --extended-regexp -@opindex -E -@opindex --extended-regexp -@cindex matching extended regular expressions -Interpret the pattern as an extended regular expression. - -@item -F -@itemx --fixed-strings -@opindex -F -@opindex --fixed-strings -@cindex matching fixed strings -Interpret the pattern as a list of fixed strings, separated -by newlines, any of which is to be matched. - -@item -P -@itemx --perl-regexp -@opindex -P -@opindex --perl-regexp -@cindex matching Perl regular expressions -Interpret the pattern as a Perl regular expression. - -@end table - -In addition, two variant programs @sc{egrep} and @sc{fgrep} are available. -@sc{egrep} is the same as @samp{grep -E}. @sc{fgrep} is the -same as @samp{grep -F}. - -@node Regular Expressions -@chapter Regular Expressions -@cindex regular expressions - -A @dfn{regular expression} is a pattern that describes a set of strings. -Regular expressions are constructed analogously to arithmetic expressions, -by using various operators to combine smaller expressions. -@command{grep} understands two different versions of regular expression -syntax: ``basic''(BRE) and ``extended''(ERE). In @sc{gnu} @command{grep}, -there is no difference in available functionality using either syntax. -In other implementations, basic regular expressions are less powerful. -The following description applies to extended regular expressions; -differences for basic regular expressions are summarized afterwards. - -The fundamental building blocks are the regular expressions that match -a single character. Most characters, including all letters and digits, -are regular expressions that match themselves. Any metacharacter -with special meaning may be quoted by preceding it with a backslash. - -A regular expression may be followed by one of several -repetition operators: - -@table @samp - -@item . -@opindex . -@cindex dot -@cindex period -The period @samp{.} matches any single character. - -@item ? -@opindex ? -@cindex question mark -@cindex match sub-expression at most once -The preceding item is optional and will be matched at most once. - -@item * -@opindex * -@cindex asterisk -@cindex match sub-expression zero or more times -The preceding item will be matched zero or more times. - -@item + -@opindex + -@cindex plus sign -The preceding item will be matched one or more times. - -@item @{@var{n}@} -@opindex @{n@} -@cindex braces, one argument -@cindex match sub-expression n times -The preceding item is matched exactly @var{n} times. - -@item @{@var{n},@} -@opindex @{n,@} -@cindex braces, second argument omitted -@cindex match sub-expression n or more times -The preceding item is matched n or more times. - -@item @{@var{n},@var{m}@} -@opindex @{n,m@} -@cindex braces, two arguments -The preceding item is matched at least @var{n} times, but not more than -@var{m} times. - -@end table - -Two regular expressions may be concatenated; the resulting regular -expression matches any string formed by concatenating two substrings -that respectively match the concatenated subexpressions. - -Two regular expressions may be joined by the infix operator @samp{|}; the -resulting regular expression matches any string matching either subexpression. - -Repetition takes precedence over concatenation, which in turn -takes precedence over alternation. A whole subexpression may be -enclosed in parentheses to override these precedence rules. - -@section Character Class - -@cindex bracket expression -@cindex character class -A @dfn{bracket expression} is a list of characters enclosed by @samp{[} and -@samp{]}. It matches any single character in that list; if the first -character of the list is the caret @samp{^}, then it matches any character -@strong{not} in the list. For example, the regular expression -@samp{[0123456789]} matches any single digit. - -@cindex range expression -Within a bracket expression, a @dfn{range expression} consists of two -characters separated by a hyphen. It matches any single character that -sorts between the two characters, inclusive, using the locale's -collating sequence and character set. For example, in the default C -locale, @samp{[a-d]} is equivalent to @samp{[abcd]}. Many locales sort -characters in dictionary order, and in these locales @samp{[a-d]} is -typically not equivalent to @samp{[abcd]}; it might be equivalent to -@samp{[aBbCcDd]}, for example. To obtain the traditional interpretation -of bracket expressions, you can use the C locale by setting the -@env{LC_ALL} environment variable to the value @samp{C}. - -Finally, certain named classes of characters are predefined within -bracket expressions, as follows. -Their interpretation depends on the @code{LC_CTYPE} locale; the -interpretation below is that of the C locale, which is the default -if no @code{LC_CTYPE} locale is specified. - -@cindex classes of characters -@cindex character classes -@table @samp - -@item [:alnum:] -@opindex alnum -@cindex alphanumeric characters -Alphanumeric characters: -@samp{[:alpha:]} and @samp{[:digit:]}. - -@item [:alpha:] -@opindex alpha -@cindex alphabetic characters -Alphabetic characters: -@samp{[:lower:]} and @samp{[:upper:]}. - -@item [:blank:] -@opindex blank -@cindex blank characters -Blank characters: -space and tab. - -@item [:cntrl:] -@opindex cntrl -@cindex control characters -Control characters. In @sc{ascii}, these characters have octal codes 000 -through 037, and 177 (@code{DEL}). In other character sets, these are -the equivalent characters, if any. - -@item [:digit:] -@opindex digit -@cindex digit characters -@cindex numeric characters -Digits: @code{0 1 2 3 4 5 6 7 8 9}. - -@item [:graph:] -@opindex graph -@cindex graphic characters -Graphical characters: -@samp{[:alnum:]} and @samp{[:punct:]}. - -@item [:lower:] -@opindex lower -@cindex lower-case letters -Lower-case letters: -@code{a b c d e f g h i j k l m n o p q r s t u v w x y z}. - -@item [:print:] -@opindex print -@cindex printable characters -Printable characters: -@samp{[:alnum:]}, @samp{[:punct:]}, and space. - -@item [:punct:] -@opindex punct -@cindex punctuation characters -Punctuation characters: -@code{!@: " # $ % & ' ( ) * + , - .@: / : ; < = > ?@: @@ [ \ ] ^ _ ` @{ | @} ~}. - -@item [:space:] -@opindex space -@cindex space characters -@cindex whitespace characters -Space characters: -tab, newline, vertical tab, form feed, carriage return, and space. - -@item [:upper:] -@opindex upper -@cindex upper-case letters -Upper-case letters: -@code{A B C D E F G H I J K L M N O P Q R S T U V W X Y Z}. - -@item [:xdigit:] -@opindex xdigit -@cindex xdigit class -@cindex hexadecimal digits -Hexadecimal digits: -@code{0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f}. - -@end table -For example, @samp{[[:alnum:]]} means @samp{[0-9A-Za-z]}, except the latter -depends upon the C locale and the @sc{ascii} character -encoding, whereas the former is independent of locale and character set. -(Note that the brackets in these class names are -part of the symbolic names, and must be included in addition to -the brackets delimiting the bracket list.) - -Most metacharacters lose their special meaning inside lists. - -@table @samp -@item ] -ends the list if it's not the first list item. So, if you want to make -the @samp{]} character a list item, you must put it first. - -@item [. -represents the open collating symbol. - -@item .] -represents the close collating symbol. - -@item [= -represents the open equivalence class. - -@item =] -represents the close equivalence class. - -@item [: -represents the open character class followed by a valid character class name. - -@item :] -represents the close character class followed by a valid character class name. - -@item - -represents the range if it's not first or last in a list or the ending point -of a range. - -@item ^ -represents the characters not in the list. If you want to make the @samp{^} -character a list item, place it anywhere but first. - -@end table - -@section Backslash Character -@cindex backslash - -The @samp{\} when followed by certain ordinary characters take a special -meaning : - -@table @samp - -@item @samp{\b} -Match the empty string at the edge of a word. - -@item @samp{\B} -Match the empty string provided it's not at the edge of a word. - -@item @samp{\<} -Match the empty string at the beginning of word. - -@item @samp{\>} -Match the empty string at the end of word. - -@item @samp{\w} -Match word constituent, it is a synonym for @samp{[[:alnum:]]}. - -@item @samp{\W} -Match non word constituent, it is a synonym for @samp{[^[:alnum:]]}. - -@end table - -For example , @samp{\brat\b} matches the separate word @samp{rat}, -@samp{c\Brat\Be} matches @samp{crate}, but @samp{dirty \Brat} doesn't -match @samp{dirty rat}. - -@section Anchoring -@cindex anchoring - -The caret @samp{^} and the dollar sign @samp{$} are metacharacters that -respectively match the empty string at the beginning and end of a line. - -@section Back-reference -@cindex back-reference - -The back-reference @samp{\@var{n}}, where @var{n} is a single digit, matches -the substring previously matched by the @var{n}th parenthesized subexpression -of the regular expression. For example, @samp{(a)\1} matches @samp{aa}. -When use with alternation if the group does not participate in the match, then -the back-reference makes the whole match fail. For example, @samp{a(.)|b\1} -will not match @samp{ba}. When multiple regular expressions are given with -@samp{-e} or from a file @samp{-f file}, the back-referecences are local to -each expression. - -@section Basic vs Extended -@cindex basic regular expressions - -In basic regular expressions the metacharacters @samp{?}, @samp{+}, -@samp{@{}, @samp{|}, @samp{(}, and @samp{)} lose their special meaning; -instead use the backslashed versions @samp{\?}, @samp{\+}, @samp{\@{}, -@samp{\|}, @samp{\(}, and @samp{\)}. - -@cindex interval specifications -Traditional @command{egrep} did not support the @samp{@{} metacharacter, -and some @command{egrep} implementations support @samp{\@{} instead, so -portable scripts should avoid @samp{@{} in @samp{egrep} patterns and -should use @samp{[@{]} to match a literal @samp{@{}. - -@sc{gnu} @command{egrep} attempts to support traditional usage by -assuming that @samp{@{} is not special if it would be the start of an -invalid interval specification. For example, the shell command -@samp{egrep '@{1'} searches for the two-character string @samp{@{1} -instead of reporting a syntax error in the regular expression. -@sc{posix.2} allows this behavior as an extension, but portable scripts -should avoid it. - -@node Usage -@chapter Usage - -@cindex Usage, examples -Here is an example shell command that invokes @sc{gnu} @command{grep}: - -@example -grep -i 'hello.*world' menu.h main.c -@end example - -@noindent -This lists all lines in the files @file{menu.h} and @file{main.c} that -contain the string @samp{hello} followed by the string @samp{world}; -this is because @samp{.*} matches zero or more characters within a line. -@xref{Regular Expressions}. The @samp{-i} option causes @command{grep} -to ignore case, causing it to match the line @samp{Hello, world!}, which -it would not otherwise match. @xref{Invoking}, for more details about -how to invoke @command{grep}. - -@cindex Using @command{grep}, Q&A -@cindex FAQ about @command{grep} usage -Here are some common questions and answers about @command{grep} usage. - -@enumerate - -@item -How can I list just the names of matching files? - -@example -grep -l 'main' *.c -@end example - -@noindent -lists the names of all C files in the current directory whose contents -mention @samp{main}. - -@item -How do I search directories recursively? - -@example -grep -r 'hello' /home/gigi -@end example - -@noindent -searches for @samp{hello} in all files under the directory -@file{/home/gigi}. For more control of which files are searched, use -@command{find}, @command{grep} and @command{xargs}. For example, -the following command searches only C files: - -@smallexample -find /home/gigi -name '*.c' -print | xargs grep 'hello' /dev/null -@end smallexample - -This differs from the command: - -@example -grep -r 'hello' *.c -@end example - -which merely looks for @samp{hello} in all files in the current -directory whose names end in @samp{.c}. Here the @option{-r} is -probably unnecessary, as recursion occurs only in the unlikely event -that one of @samp{.c} files is a directory. - -@item -What if a pattern has a leading @samp{-}? - -@example -grep -e '--cut here--' * -@end example - -@noindent -searches for all lines matching @samp{--cut here--}. Without @samp{-e}, -@command{grep} would attempt to parse @samp{--cut here--} as a list of -options. - -@item -Suppose I want to search for a whole word, not a part of a word? - -@example -grep -w 'hello' * -@end example - -@noindent -searches only for instances of @samp{hello} that are entire words; it -does not match @samp{Othello}. For more control, use @samp{\<} and -@samp{\>} to match the start and end of words. For example: - -@example -grep 'hello\>' * -@end example - -@noindent -searches only for words ending in @samp{hello}, so it matches the word -@samp{Othello}. - -@item -How do I output context around the matching lines? - -@example -grep -C 2 'hello' * -@end example - -@noindent -prints two lines of context around each matching line. - -@item -How do I force grep to print the name of the file? - -Append @file{/dev/null}: - -@example -grep 'eli' /etc/passwd /dev/null -@end example - -gets you: - -@smallexample -/etc/passwd:eli:DNGUTF58.IMe.:98:11:Eli Smith:/home/do/eli:/bin/bash -@end smallexample - -@item -Why do people use strange regular expressions on @command{ps} output? - -@example -ps -ef | grep '[c]ron' -@end example - -If the pattern had been written without the square brackets, it would -have matched not only the @command{ps} output line for @command{cron}, -but also the @command{ps} output line for @command{grep}. -Note that some platforms @command{ps} limit the ouput to the width -of the screen, grep does not have any limit on the length of a line -except the available memory. - -@item -Why does @command{grep} report ``Binary file matches''? - -If @command{grep} listed all matching ``lines'' from a binary file, it -would probably generate output that is not useful, and it might even -muck up your display. So @sc{gnu} @command{grep} suppresses output from -files that appear to be binary files. To force @sc{gnu} @command{grep} -to output lines even from files that appear to be binary, use the -@samp{-a} or @samp{--binary-files=text} option. To eliminate the -``Binary file matches'' messages, use the @samp{-I} or -@samp{--binary-files=without-match} option. - -@item -Why doesn't @samp{grep -lv} print nonmatching file names? - -@samp{grep -lv} lists the names of all files containing one or more -lines that do not match. To list the names of all files that contain no -matching lines, use the @samp{-L} or @samp{--files-without-match} -option. - -@item -I can do @sc{or} with @samp{|}, but what about @sc{and}? - -@example -grep 'paul' /etc/motd | grep 'franc,ois' -@end example - -@noindent -finds all lines that contain both @samp{paul} and @samp{franc,ois}. - -@item -How can I search in both standard input and in files? - -Use the special file name @samp{-}: - -@example -cat /etc/passwd | grep 'alain' - /etc/motd -@end example - -@item -@cindex palindromes -How to express palindromes in a regular expression? - -It can be done by using the back referecences, for example a palindrome -of 4 chararcters can be written in BRE. - -@example -grep -w -e '\(.\)\(.\).\2\1' file -@end example - -It matches the word "radar" or "civic". - -Guglielmo Bondioni proposed a single RE that finds all the palindromes up to 19 -characters long. - -@example -egrep -e '^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\9\8\7\6\5\4\3\2\1$' file -@end example - -Note this is done by using GNU ERE extensions, it might not be portable on -other greps. - -@item -Why are my expressions whith the vertical bar fail? - -@example -/bin/echo "ba" | egrep '(a)\1|(b)\1' -@end example - -The first alternate branch fails then the first group was not in the match -this will make the second alternate branch fails. For example, "aaba" will -match, the first group participate in the match and can be reuse in the -second branch. - -@item -What do @command{grep, fgrep, egrep} stand for ? - -grep comes from the way line editing was done on Unix. For example, -@command{ed} uses this syntax to print a list of matching lines on the screen. - -@example -global/regular expression/print -g/re/p -@end example - -@command{fgrep} stands for Fixed @command{grep}, @command{egrep} Extended -@command{grep}. - -@end enumerate - -@node Reporting Bugs, Copying, Usage, Top -@chapter Reporting bugs - -@cindex Bugs, reporting -Email bug reports to @email{bug-gnu-utils@@gnu.org}. -Be sure to include the word ``grep'' somewhere in the ``Subject:'' field. - -Large repetition counts in the @samp{@{n,m@}} construct may cause -@command{grep} to use lots of memory. In addition, certain other -obscure regular expressions require exponential time and -space, and may cause grep to run out of memory. -Back-references are very slow, and may require exponential time. - -@node Copying, GNU General Public License, Reporting Bugs, Top -@chapter Copying -@cindex Copying -GNU grep is licensed under the GNU GPL, which makes it @dfn{free -software}. - -Please note that ``free'' in ``free software'' refers to liberty, not -price. As some GNU project advocates like to point out, think of ``free -speech'' rather than ``free beer''. The exact and legally binding -distribution terms are spelled out below; in short, you have the right -(freedom) to run and change grep and distribute it to other people, and -even---if you want---charge money for doing either. The important -restriction is that you have to grant your recipients the same rights -and impose the same restrictions. - -This method of licensing software is also known as @dfn{open source} -because, among other things, it makes sure that all recipients will -receive the source code along with the program, and be able to improve -it. The GNU project prefers the term ``free software'' for reasons -outlined at -@url{http://www.gnu.org/philosophy/free-software-for-freedom.html}. - -The exact license terms are defined by this paragraph and the GNU -General Public License it refers to: - -@quotation -GNU grep 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 2 of the License, or (at your -option) any later version. - -GNU grep 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. - -A copy of the GNU General Public License is included as part of this -manual; if you did not receive it, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -@end quotation - -In addition to this, this manual is free in the same sense: - -@quotation -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'' and ``GNU Free -Documentation License'', with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the section -entitled ``GNU Free Documentation License''. -@end quotation - -@c #### Maybe we should wrap these licenses in ifinfo? Stallman says -@c that the GFDL needs to be present in the manual, and to me it would -@c suck to include the license for the manual and not the license for -@c the program. - -The full texts of the GNU General Public License and of the GNU Free -Documentation License are available below. - -@menu -* GNU General Public License:: GNU GPL -* GNU Free Documentation License:: GNU FDL -@end menu - -@node GNU General Public License, GNU Free Documentation License, Copying, Copying -@section GNU General Public License -@center Version 2, June 1991 -@cindex GPL, GNU General Public License - -@display -Copyright @copyright{} 1989, 1991 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. -@end display - -@unnumberedsec Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU 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. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), 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 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 show them these terms so they know 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. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - -@iftex -@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -@end iftex -@ifinfo -@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -@end ifinfo - -@enumerate -@item -This License 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 derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term ``modification''.) Each licensee is addressed as ``you''. - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - -@item -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 License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -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. - -@item -You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - -@enumerate a -@item -You must cause the modified files to carry prominent notices -stating that you changed the files and the date of any change. - -@item -You must cause any work that you distribute or publish, that in -whole or in part contains or is derived from the Program or any -part thereof, to be licensed as a whole at no charge to all third -parties under the terms of this License. - -@item -If the modified program normally reads commands interactively -when run, you must cause it, when started running for such -interactive use in the most ordinary 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 -License. (Exception: if the Program itself is interactive but -does not normally print such an announcement, your work based on -the Program is not required to print an announcement.) -@end enumerate - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - -@item -You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - -@enumerate a -@item -Accompany it with the complete corresponding machine-readable -source code, which must be distributed under the terms of Sections -1 and 2 above on a medium customarily used for software interchange; or, - -@item -Accompany it with a written offer, valid for at least three -years, to give any third party, for a charge no more than your -cost of physically performing source distribution, a complete -machine-readable copy of the corresponding source code, to be -distributed under the terms of Sections 1 and 2 above on a medium -customarily used for software interchange; or, - -@item -Accompany it with the information you received as to the offer -to distribute corresponding source code. (This alternative is -allowed only for noncommercial distribution and only if you -received the program in object code or executable form with such -an offer, in accord with Subsection b above.) -@end enumerate - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - -@item -You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - -@item -You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing 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 for copying, distributing or modifying -the Program or works based on it. - -@item -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. -You are not responsible for enforcing compliance by third parties to -this License. - -@item -If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - -@item -If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - -@item -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 this 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 -this License, you may choose any version ever published by the Free Software -Foundation. - -@item -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. - -@iftex -@heading NO WARRANTY -@end iftex -@ifinfo -@center NO WARRANTY -@end ifinfo -@cindex no warranty - -@item -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. - -@item -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 enumerate - -@iftex -@heading END OF TERMS AND CONDITIONS -@end iftex -@ifinfo -@center END OF TERMS AND CONDITIONS -@end ifinfo - -@page -@unnumberedsec 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 the public, 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. - -@smallexample -@var{one line to give the program's name and an idea of what it does.} -Copyright (C) 19@var{yy} @var{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 2 -of the License, 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. -@end smallexample - -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: - -@smallexample -Gnomovision version 69, Copyright (C) 19@var{yy} @var{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. -@end smallexample - -The hypothetical commands @samp{show w} and @samp{show c} should show -the appropriate parts of the General Public License. Of course, the -commands you use may be called something other than @samp{show w} and -@samp{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 is a sample; alter the names: - -@smallexample -@group -Yoyodyne, Inc., hereby disclaims all copyright -interest in the program `Gnomovision' -(which makes passes at compilers) written -by James Hacker. - -@var{signature of Ty Coon}, 1 April 1989 -Ty Coon, President of Vice -@end group -@end smallexample - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - -@node GNU Free Documentation License, Concept Index, GNU General Public License, Copying -@section GNU Free Documentation License -@center Version 1.1, March 2000 -@cindex FDL, GNU Free Documentation License - -@display -Copyright (C) 2000 Free Software Foundation, Inc. -59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -@end display -@sp 1 -@enumerate 0 -@item -PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -written document ``free'' in the sense of freedom: to assure everyone -the effective freedom to copy and redistribute it, with or without -modifying it, either commercially or noncommercially. Secondarily, -this License preserves for the author and publisher a way to get -credit for their work, while not being considered responsible for -modifications made by others. - -This License is a kind of ``copyleft'', which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - -@sp 1 -@item -APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work that contains a -notice placed by the copyright holder saying it can be distributed -under the terms of this License. The ``Document'', below, refers to any -such manual or work. Any member of the public is a licensee, and is -addressed as ``you''. - -A ``Modified Version'' of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A ``Secondary Section'' is a named appendix or a front-matter section of -the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall subject -(or to related matters) and contains nothing that could fall directly -within that overall subject. (For example, if the Document is in part a -textbook of mathematics, a Secondary Section may not explain any -mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The ``Invariant Sections'' are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. - -The ``Cover Texts'' are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. - -A ``Transparent'' copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, whose contents can be viewed and edited directly and -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup has been designed to thwart or discourage -subsequent modification by readers is not Transparent. A copy that is -not ``Transparent'' is called ``Opaque''. - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, SGML -or XML using a publicly available DTD, and standard-conforming simple -HTML designed for human modification. Opaque formats include -PostScript, PDF, proprietary formats that can be read and edited only -by proprietary word processors, SGML or XML for which the DTD and/or -processing tools are not generally available, and the -machine-generated HTML produced by some word processors for output -purposes only. - -The ``Title Page'' means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, ``Title Page'' means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. -@sp 1 -@item -VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. -@sp 1 -@item -COPYING IN QUANTITY - -If you publish printed copies of the Document numbering more than 100, -and the Document's license notice requires Cover Texts, you must enclose -the copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a publicly-accessible computer-network location containing a complete -Transparent copy of the Document, free of added material, which the -general network-using public has access to download anonymously at no -charge using public-standard network protocols. If you use the latter -option, you must take reasonably prudent steps, when you begin -distribution of Opaque copies in quantity, to ensure that this -Transparent copy will remain thus accessible at the stated location -until at least one year after the last time you distribute an Opaque -copy (directly or through your agents or retailers) of that edition to -the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. -@sp 1 -@item -MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -A. Use in the Title Page (and on the covers, if any) a title distinct - from that of the Document, and from those of previous versions - (which should, if there were any, be listed in the History section - of the Document). You may use the same title as a previous version - if the original publisher of that version gives permission.@* -B. List on the Title Page, as authors, one or more persons or entities - responsible for authorship of the modifications in the Modified - Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has less than five).@* -C. State on the Title page the name of the publisher of the - Modified Version, as the publisher.@* -D. Preserve all the copyright notices of the Document.@* -E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices.@* -F. Include, immediately after the copyright notices, a license notice - giving the public permission to use the Modified Version under the - terms of this License, in the form shown in the Addendum below.@* -G. Preserve in that license notice the full lists of Invariant Sections - and required Cover Texts given in the Document's license notice.@* -H. Include an unaltered copy of this License.@* -I. Preserve the section entitled ``History'', and its title, and add to - it an item stating at least the title, year, new authors, and - publisher of the Modified Version as given on the Title Page. If - there is no section entitled ``History'' in the Document, create one - stating the title, year, authors, and publisher of the Document as - given on its Title Page, then add an item describing the Modified - Version as stated in the previous sentence.@* -J. Preserve the network location, if any, given in the Document for - public access to a Transparent copy of the Document, and likewise - the network locations given in the Document for previous versions - it was based on. These may be placed in the ``History'' section. - You may omit a network location for a work that was published at - least four years before the Document itself, or if the original - publisher of the version it refers to gives permission.@* -K. In any section entitled ``Acknowledgements'' or ``Dedications'', - preserve the section's title, and preserve in the section all the - substance and tone of each of the contributor acknowledgements - and/or dedications given therein.@* -L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section titles.@* -M. Delete any section entitled ``Endorsements''. Such a section - may not be included in the Modified Version.@* -N. Do not retitle any existing section as ``Endorsements'' - or to conflict in title with any Invariant Section.@* -@sp 1 -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section entitled ``Endorsements'', provided it contains -nothing but endorsements of your Modified Version by various -parties--for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. -@sp 1 -@item -COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections entitled ``History'' -in the various original documents, forming one section entitled -``History''; likewise combine any sections entitled ``Acknowledgements'', -and any sections entitled ``Dedications''. You must delete all sections -entitled ``Endorsements.'' -@sp 1 -@item -COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. -@sp 1 -@item -AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, does not as a whole count as a Modified Version -of the Document, provided no compilation copyright is claimed for the -compilation. Such a compilation is called an ``aggregate'', and this -License does not apply to the other self-contained works thus compiled -with the Document, on account of their being thus compiled, if they -are not themselves derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one quarter -of the entire aggregate, the Document's Cover Texts may be placed on -covers that surround only the Document within the aggregate. -Otherwise they must appear on covers around the whole aggregate. -@sp 1 -@item -TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License provided that you also include the -original English version of this License. In case of a disagreement -between the translation and the original English version of this -License, the original English version will prevail. -@sp 1 -@item -TERMINATION - -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document is void, and will -automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. -@sp 1 -@item -FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation 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. See -http://www.gnu.org/copyleft/. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License ``or any later version'' applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. - -@end enumerate - -@unnumberedsec ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -@smallexample -@group - - Copyright (C) @var{year} @var{your name}. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 - or any later version published by the Free Software Foundation; - with the Invariant Sections being @var{list their titles}, with the - Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. - A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -@end group -@end smallexample -If you have no Invariant Sections, write ``with no Invariant Sections'' -instead of saying which ones are invariant. If you have no -Front-Cover Texts, write ``no Front-Cover Texts'' instead of -``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. - -@page -@node Concept Index, Index, GNU Free Documentation License, Top -@unnumbered Concept Index - -This is a general index of all issues discussed in this manual, with the -exception of the @command{grep} commands and command-line options. - -@printindex cp - -@page -@node Index,, Concept Index, Top -@unnumbered Index - -This is an alphabetical list of all @command{grep} commands, command-line -options, and environment variables. - -@printindex fn - -@contents -@bye diff --git a/gnu/usr.bin/grep/doc/version.texi b/gnu/usr.bin/grep/doc/version.texi deleted file mode 100644 index 4350a83..0000000 --- a/gnu/usr.bin/grep/doc/version.texi +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 23 January 2002 -@set UPDATED-MONTH January 2002 -@set EDITION 2.5.1 -@set VERSION 2.5.1 diff --git a/gnu/usr.bin/groff/Makefile b/gnu/usr.bin/groff/Makefile index 2db554f..cb83dea 100644 --- a/gnu/usr.bin/groff/Makefile +++ b/gnu/usr.bin/groff/Makefile @@ -1,6 +1,6 @@ # $FreeBSD$ -SUBDIR= contrib doc font man src tmac +SUBDIR= contrib font man src tmac .for subdir in ${SUBDIR:Nsrc} SUBDIR_DEPEND_${subdir}= src diff --git a/gnu/usr.bin/groff/doc/Makefile b/gnu/usr.bin/groff/doc/Makefile deleted file mode 100644 index 6381812..0000000 --- a/gnu/usr.bin/groff/doc/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -INFO= groff -SRCDIR= ${DIST_DIR} - -.include <bsd.info.mk> diff --git a/gnu/usr.bin/texinfo/Makefile b/gnu/usr.bin/texinfo/Makefile deleted file mode 100644 index dc0d9e4..0000000 --- a/gnu/usr.bin/texinfo/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -# $FreeBSD$ -# - -SUBDIR= libtxi makeinfo info infokey install-info texindex doc - -.include <bsd.subdir.mk> diff --git a/gnu/usr.bin/texinfo/Makefile.inc b/gnu/usr.bin/texinfo/Makefile.inc deleted file mode 100644 index d5c8e81..0000000 --- a/gnu/usr.bin/texinfo/Makefile.inc +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -TXIDIR= ${.CURDIR}/../../../../contrib/texinfo -LIBTXI= ${.OBJDIR}/../libtxi/libtxi.a - -CFLAGS+= -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/share/locale\" \ - -I${TXIDIR} -I${TXIDIR}/lib - -.include "../Makefile.inc" diff --git a/gnu/usr.bin/texinfo/doc/Makefile b/gnu/usr.bin/texinfo/doc/Makefile deleted file mode 100644 index 2a0b1a3..0000000 --- a/gnu/usr.bin/texinfo/doc/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -INFO= info info-stnd texinfo -SRCDIR= ${TXIDIR}/doc - -CLEANFILES= texinfo.texi - -texinfo.texi: texinfo.txi - ln -fs ${.ALLSRC} ${.TARGET} - -.include <bsd.info.mk> diff --git a/gnu/usr.bin/texinfo/info/Makefile b/gnu/usr.bin/texinfo/info/Makefile deleted file mode 100644 index adf7f91..0000000 --- a/gnu/usr.bin/texinfo/info/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# $FreeBSD$ - -PROG= info -MAN= info.1 info.5 texinfo.5 - -SRCS= dir.c display.c doc.c dribble.c echo-area.c filesys.c \ - footnotes.c gc.c indices.c info-utils.c info.c infodoc.c \ - infomap.c m-x.c man.c nodemenu.c nodes.c search.c session.c \ - signals.c terminal.c tilde.c variables.c window.c - -CFLAGS+= -DINFODIR=\"${INFODIR}:/usr/local/info:.\" - -DPADD= ${LIBTERMCAPW} ${LIBTXI} -LDADD= -ltermcapw ${LIBTXI} - -.include <bsd.prog.mk> - -.PATH: ${TXIDIR}/info ${TXIDIR}/doc diff --git a/gnu/usr.bin/texinfo/infokey/Makefile b/gnu/usr.bin/texinfo/infokey/Makefile deleted file mode 100644 index 50be00d..0000000 --- a/gnu/usr.bin/texinfo/infokey/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -PROG= infokey -SRCS= infokey.c key.c - -DPADD= ${LIBTXI} -LDADD= ${LIBTXI} - -.include <bsd.prog.mk> - -.PATH: ${TXIDIR}/info ${TXIDIR}/doc diff --git a/gnu/usr.bin/texinfo/install-info/Makefile b/gnu/usr.bin/texinfo/install-info/Makefile deleted file mode 100644 index 325c909..0000000 --- a/gnu/usr.bin/texinfo/install-info/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -PROG= install-info - -DPADD= ${LIBTXI} -LDADD= ${LIBTXI} - -.include <bsd.prog.mk> - -.PATH: ${TXIDIR}/util ${TXIDIR}/doc diff --git a/gnu/usr.bin/texinfo/libtxi/Makefile b/gnu/usr.bin/texinfo/libtxi/Makefile deleted file mode 100644 index 8decad1..0000000 --- a/gnu/usr.bin/texinfo/libtxi/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -LIB= txi -INTERNALLIB= - -SRCS= substring.c xexit.c xmalloc.c xstrdup.c - -.include <bsd.lib.mk> - -.PATH: ${TXIDIR}/lib diff --git a/gnu/usr.bin/texinfo/makeinfo/Makefile b/gnu/usr.bin/texinfo/makeinfo/Makefile deleted file mode 100644 index 373c326..0000000 --- a/gnu/usr.bin/texinfo/makeinfo/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# $FreeBSD$ - -PROG= makeinfo -SRCS= cmds.c defun.c files.c float.c footnote.c html.c \ - index.c insertion.c lang.c macro.c makeinfo.c multi.c \ - node.c sectioning.c toc.c xml.c xref.c - -DPADD= ${LIBTXI} -LDADD= ${LIBTXI} - -.include <bsd.prog.mk> - -.PATH: $(TXIDIR)/makeinfo $(TXIDIR)/doc diff --git a/gnu/usr.bin/texinfo/texindex/Makefile b/gnu/usr.bin/texinfo/texindex/Makefile deleted file mode 100644 index 91c2dfc..0000000 --- a/gnu/usr.bin/texinfo/texindex/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -PROG= texindex - -DPADD= ${LIBTXI} -LDADD= ${LIBTXI} - -.include <bsd.prog.mk> - -.PATH: ${TXIDIR}/util ${TXIDIR}/doc |