fmlgrep searches filename for a pattern and prints all lines that contain that pattern. fmlgrep uses limited regular expressions (expressions that have string values that use a subset of the possible alphanumeric and special characters) like those described on the regexp(5) manual page to match the patterns. It uses a compact non-deterministic algorithm.
Be careful when using FMLI special characters (for instance, $, `, ', ") in limited_regular_expression. It is safest to enclose the entire limited_regular_expression in single quotes ' ... '.
If filename is not specified, fmlgrep assumes standard input. Normally, each line matched is copied to standard output. The file name is printed before each line matched if there is more than one input file.
The following options are supported:
Precede each line by the block number on which it was found. This can be useful in locating block numbers by context (first block is 0).
Print only a count of the lines that contain the pattern.
Ignore upper/lower case distinction during comparisons.
Print only the names of files with matching lines, separated by new-lines. Does not repeat the names of files when the pattern is found more than once.
Precede each line by its line number in the file (first line is 1).
Suppress error messages about nonexistent or unreadable files.
Print all lines except those that contain the pattern.
The following exit values are returned:
if the pattern is found (that is, TRUE)
if the pattern is not found (that is, FALSE)
if an invalid expression was used or filename is inaccessible
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
Lines are limited to BUFSIZ characters; longer lines are truncated. BUFSIZ is defined in /usr/include/stdio.h.
If there is a line with embedded nulls, fmlgrep will only match up to the first null; if it matches, it will print the entire line.