* Introduction  -*-grep-*-     (See the end of file for copyright information)

This shows the different kinds of messages grep recognizes by default and
how they are rendered.  It is intended both to help you decide which matchers
you need and as a test of the matchers.  Move the mouse over a colored part
to see how much text was actually matched.

Please do not edit this file in grep-mode, it may lose escape
sequences on saving.  Visit this file literally for editing.


* GNU grep 2.5.1

grep -nH -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the INFO tree

* GNU grep 2.5.1 with default colors

grep -nH --color=always -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the [01;31mINFO tree[00m

* GNU grep 2.5.1-cvs with the specified matching color

GREP_COLORS='mt=01;31:fn=:ln=:bn=:se=:ml=:cx=:ne' grep -nH --color=always -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the [01;31mINFO tree[m

* GNU grep 2.5.1-cvs with colors for the file name, line number and match

GREP_COLORS='mt=01;31:fn=35:ln=32:bn=:se=:ml=36:cx=37:ne' grep -nH --color=always -e "INFO tree" ../info/*
[35m../info/dir[m:[32m6[m:[36mFile: dir	Node: Top	This is the top of the [01;31mINFO tree[m
[35m1[m:[32m2[m:[36m3:4:[01;31mtext[m
[35m1:2[m:[32m3[m:[36m4:[01;31mtext[m
[35m1:2:3[m:[32m4[m:[36m[01;31mtext[m

* GNU grep 2.5.1-cvs with default colors

grep -nH --color=always -e "INFO tree" ../info/*
[35m[K../info/dir[m[K[36m[K:[m[K[32m[K6[m[K[36m[K:[m[KFile: dir	Node: Top	This is the top of the [01;31m[KINFO tree[m[K

* GNU grep 2.5.1 on lines starting with a number and colon

grep -nH --color=always -e "Universal Time" ../doc/lispref/*
../lispref/os.texi:1010:0:00 January 1, 1970 UTC (Coordinated [01;31mUniversal Time[00m)

* GNU grep 2.5.1 with context lines

grep -C 2 -nH --color=always -e "INFO tree" ../info/*
../info/dir-4-looking at that node, which is (dir)Top.
../info/dir-5-
../info/dir:6:File: dir	Node: Top	This is the top of the [01;31mINFO tree[00m
../info/dir-7-
../info/dir-8-The Info Directory

* GNU grep 2.5.1 on files recognized as binary

Binary file emacs-7 matches
Binary file 2005-06 matches

* GNU grep 2.5.1: other messages

Grep started at Tue Jul 19 15:41:30
grep: ../info/dirinfo: No such file or directory
Grep interrupt at Tue Jul 19 15:42:31
Grep killed at Tue Jul 19 15:42:31
Grep terminated at Tue Jul 19 15:42:31
Grep exited abnormally with code 2 at Tue Jul 19 15:42:31
Grep finished with no matches found at Tue Jul 19 15:43:12
Grep finished (matches found) at Thu Jul 21 15:02:15

* agrep

agrep -n "INFO tree" ../info/*
../info/dir: 6: File: dir	Node: Top	This is the top of the INFO tree

* bzr grep with Bazaar plugin [grep]

bzr grep --color=always -in "org-element-map"
[35mlisp/org/org.el[1;36m:[0m21047[1;36m:[0m		      ([1;31morg-element-map[0m

* git-grep
  with '[diff "lisp"] xfuncname = "^(\\(.*)$"' in .gitconfig
  and '*.el diff=lisp' in .gitattributes

git --no-pager grep -inH -p -e "org-element-map"
lisp/org/org.el[36m=[m20969[36m=[m(defun org-fill-paragraph (&optional justify)
lisp/org/org.el[36m:[m21047[36m:[m		      ([1;31morg-element-map[m

* ripgrep

rg -nH --color always --no-heading -e grep-match-regexp
[0m[35mlisp/progmodes/grep.el[0m:[0m[32m608[0m:        (while (re-search-forward [0m[1m[31mgrep-match-regexp[0m end 1)
Binary file emacs.info matches (found "\u{0}" byte around offset 2222525)

* unknown greps

grep -nH -e "xyzxyz" ../info/*
../info/emacs-2:1205:10:inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2:1205:10-15:inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2:1205.10-1205.15:inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2 1205.10-15 inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2 1205.10-1205.15 inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2 1205 inserts `xyzxyzxyzxyz' in the current buffer.


* Miscellaneous

Copyright (C) 2005-2025 Free Software Foundation, Inc.

COPYING PERMISSIONS:

    This document 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 3 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, see <https://www.gnu.org/licenses/>.


;;; Local Variables:
;;; eval: (let ((inhibit-read-only t) (compilation-filter-start (point-min))) (save-excursion (goto-char (point-max)) (grep-filter) (set-buffer-modified-p nil)))
;;; buffer-read-only: t
;;; outline-minor-mode-cycle: t
;;; outline-minor-mode-highlight: t
;;; eval: (outline-minor-mode 1)
;;; End:
