|
|
1.1 ! root 1: .TH GREP 1 "11 August 1980" ! 2: .UC 4 ! 3: .SH NAME ! 4: grep, egrep, fgrep \- search a file for a pattern ! 5: .SH SYNOPSIS ! 6: .B grep ! 7: [ option ] ... ! 8: expression [ file ] ... ! 9: .LP ! 10: .B egrep ! 11: [ option ] ... ! 12: [ expression ] ! 13: [ file ] ... ! 14: .LP ! 15: .B fgrep ! 16: [ option ] ... ! 17: [ strings ] ! 18: [ file ] ! 19: .SH DESCRIPTION ! 20: Commands of the ! 21: .I grep ! 22: family search the input ! 23: .I files ! 24: (standard input default) for lines matching a pattern. ! 25: Normally, each line found is copied to the standard output. ! 26: .I Grep ! 27: patterns are limited regular expressions in the style of ! 28: .IR ex (1); ! 29: it uses a compact nondeterministic algorithm. ! 30: .I Egrep ! 31: patterns are full regular expressions; it uses a fast deterministic ! 32: algorithm that sometimes needs exponential space. ! 33: .I Fgrep ! 34: patterns are fixed strings; it is fast and compact. ! 35: The following options are recognized. ! 36: .TP ! 37: .B \-v ! 38: All lines but those matching are printed. ! 39: .TP ! 40: .B \-x ! 41: (Exact) only lines matched in their entirety are printed ! 42: .RI ( fgrep ! 43: only). ! 44: .TP ! 45: .B \-c ! 46: Only a count of matching lines is printed. ! 47: .TP ! 48: .B \-l ! 49: The names of files with matching lines are listed (once) separated by newlines. ! 50: .TP ! 51: .B \-n ! 52: Each line is preceded by its relative line number in the file. ! 53: .TP ! 54: .B \-b ! 55: Each line is preceded by the block number on which it was found. ! 56: This is sometimes useful in locating disk block numbers by context. ! 57: .TP ! 58: .B \-i ! 59: The case of letters is ignored in making comparisons \(em that is, upper and ! 60: lower case are considered identical. This applies to \fIgrep\fR\| and ! 61: \fIfgrep\fR only. ! 62: .TP ! 63: .B \-s ! 64: Silent mode. Nothing is printed (except error messages). ! 65: This is useful for checking the error status. ! 66: .TP ! 67: .B \-w ! 68: The expression is searched for as a word ! 69: (as if surrounded by `\e<' and `\e>', see ! 70: .IR ex (1).) ! 71: (\fIgrep\fR\| only) ! 72: .TP ! 73: .BI \-e " expression" ! 74: Same as a simple ! 75: .I expression ! 76: argument, but useful when the ! 77: .I expression ! 78: begins with a \-. ! 79: .TP ! 80: .BI \-f " file" ! 81: The regular expression ! 82: .RI ( egrep ) ! 83: or string list ! 84: .RI ( fgrep ) ! 85: is taken from the ! 86: .I file. ! 87: .LP ! 88: In all cases the file name is shown if there is more than one input file. ! 89: Care should be taken when using the characters $ * [ ^ | ( ) and \\ in the ! 90: .I expression ! 91: as they are also meaningful to the Shell. It is safest to enclose the entire ! 92: .I expression ! 93: argument in single quotes \' \'. ! 94: .LP ! 95: .I Fgrep ! 96: searches for lines that contain one of the (newline-separated) ! 97: .I strings. ! 98: .LP ! 99: .I Egrep ! 100: accepts extended regular expressions. ! 101: In the following description `character' excludes newline: ! 102: .IP ! 103: A \e followed by a single character other than newline matches that character. ! 104: .IP ! 105: The character ^ matches the beginning of a line. ! 106: .IP ! 107: The character $ matches the end of a line. ! 108: .IP ! 109: A ! 110: .B . ! 111: (period) matches any character. ! 112: .IP ! 113: A single character not otherwise endowed with special ! 114: meaning matches that character. ! 115: .IP ! 116: A string enclosed in brackets [\|] matches any single character from the string. ! 117: Ranges of ASCII character codes may be abbreviated as in `a\-z0\-9'. ! 118: A ] ! 119: may occur only as the first character of the string. ! 120: A literal \- must be placed where it can't be mistaken as a range indicator. ! 121: .IP ! 122: A regular expression followed by an * (asterisk) matches a sequence of 0 ! 123: or more matches of the regular expression. ! 124: A regular expression followed by a + (plus) matches a sequence of 1 or more ! 125: matches of the regular expression. ! 126: A regular expression followed by a ? (question mark) matches a sequence of ! 127: 0 or 1 matches of the regular expression. ! 128: .IP ! 129: Two regular expressions concatenated match a match of the first followed ! 130: by a match of the second. ! 131: .IP ! 132: Two regular expressions separated by | or newline ! 133: match either a match for the first or a match for the second. ! 134: .IP ! 135: A regular expression enclosed in parentheses ! 136: matches a match for the regular expression. ! 137: .LP ! 138: The order of precedence of operators at the same parenthesis level ! 139: is [\|] then *+? then concatenation then | and newline. ! 140: .LP ! 141: Ideally there should be only one ! 142: .I grep, ! 143: but we don't know a single algorithm that spans a wide enough ! 144: range of space-time tradeoffs. ! 145: .SH "SEE ALSO" ! 146: ex(1), ! 147: sed(1), ! 148: sh(1) ! 149: .SH DIAGNOSTICS ! 150: Exit status is 0 if any matches are found, ! 151: 1 if none, 2 for syntax errors or inaccessible files. ! 152: .SH BUGS ! 153: Lines are limited to 256 characters; longer lines are truncated.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.