Linux Three Musketeers is a very powerful text processing tool in Linux, Master Three Musketeers, the text processing already presumably will have three swords in hand, the world I have feelings, three musketeers of the grep family is good at text search, support for regular expression text search, make grep very strong, the following content on grep, Egrep and Regular Expressions expand
Linux Text Tool Three musketeers:
grep, Egrep, Fgrep: Text Search Tool
Sed: Stream editor, also line editor
awk: Text formatting tool, version Report Builder
Regular expression: a pattern (pattern) written by a class of characters
role: Text filtering with a text search tool that supports the use of regular expressions
Metacharacters: Similar to wildcard characters, does not represent the meaning of the character itself, for the description of additional functionality
Classification: basic regular expressions and extended regular expressions
Basic Regular Expression (BRE)
Character matching:
. : Any single character
[]: Any single character within the specified range
[0-9],[[:d Igit:]]: All numbers
[A-z],[[:lower:]]: lowercase letters
[A-z],[[:upper:]]: Uppercase
[[: Alpha:]]: All uppercase and lowercase letters
[[: Alnum:]]: Numbers and all uppercase and lowercase letters
[[: Space:]]: white space characters
[[:p UNCT:]]: special characters
[^]: Any single character outside the specified range
number of matches: matches the number of occurrences of the previous character of a match
*: The previous character appears any number of times, such as: A *, refers to a can occur any number of times, including 0 times
\?: previous character 0 or 1 times
\+: The previous character appears at least 1 times
\{m\}: The previous character appears m times for exact match
\{m,n\}: The previous character appears at least m times, up to N times
\{m,\}: The previous character appears at least m times
\{0,n}: The previous character appears at most n times
position anchor: limits where the character that matches to appears
^: Anchor at the beginning of the line
$: End of line anchoring
^$: Blank Line
^[[:space:]]*$: Blank line with white space characters
\< or \b: The first anchor of the word
\> or \b: Final anchoring
Group:
\ (\): Groups characters, such as: \ (ab\)
References:
\1: A reference to the first ' opening parenthesis in the expression and corresponding to the right parenthesis ' in the match to the content once, that is, the contents of the parentheses are displayed at the reference again
Grep:global search REgular expression and Print out of the line
Supports text search using regular expressions and prints the rows to which the pattern matches
grep [OPTIONS] PATTERN [FILE ...]
--color=auto: Color highlighting of matched characters (default grep= ' grep--color=auto in Centos7)
-I: Ignore case
-O: Show only what matches to
-N: Show line numbers
-v,--invert-match: Reverse, display the opposite of the matching pattern
-e: Extended Regular expression support
-Q,--quiet,--silient: Silent mode, do not output any information
Instance:
(1) Remove the user name in the/etc/passwd with "s" User information
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M01/7D/08/wKiom1betjmi6Cd4AAATxJW1nLg080.png "title=" 2.png " alt= "Wkiom1betjmi6cd4aaatxjw1nlg080.png"/>
(2) Find the three-bit or four-digit number in the/etc/passwd file
650) this.width=650; "src=" Http://s4.51cto.com/wyfs02/M00/7D/07/wKioL1betuuRmIE2AAAX0nKO-48660.png "title=" 3.png " alt= "Wkiol1betuurmie2aaax0nko-48660.png"/>
(3) Remove user information from shutdown users
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M00/7D/08/wKiom1bet_TRWx5CAAALMVzXhYQ126.png "title=" 9.png " alt= "Wkiom1bet_trwx5caaalmvzxhyq126.png"/>
(4) Remove user information other than the root user
650) this.width=650; "src=" Http://s4.51cto.com/wyfs02/M01/7D/07/wKioL1beuMXhyv2sAABB0UzciRs047.png "title=" 4.png " alt= "Wkiol1beumxhyv2saabb0uzcirs047.png"/>
(5) Remove blank lines from the/ETC/BASHRC file and print the number of trips
650) this.width=650; "src=" Http://s5.51cto.com/wyfs02/M01/7D/07/wKioL1beuSzAimf0AAAGRLAarGo808.png "title=" 5.png " alt= "Wkiol1beuszaimf0aaagrlaargo808.png"/>
(6) Find the/etc/grub2.cfg file, beginning with at least one whitespace character, followed by a line with non-whitespace characters
650) this.width=650; "src=" Http://s1.51cto.com/wyfs02/M02/7D/08/wKiom1beuOfhiSwnAAAj3Af1e9k192.png "title=" 6.png " alt= "Wkiom1beuofhiswnaaaj3af1e9k192.png"/>
(7) Remove the default shell as Nologin, the user ID of the largest user
650) this.width=650; "src=" Http://s2.51cto.com/wyfs02/M02/7D/07/wKioL1beue3hhyc_AAALkvxRCC4851.png "title=" 7.png " alt= "Wkiol1beue3hhyc_aaalkvxrcc4851.png"/>
(8) Remove the user name and the default shell for the same user information
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M00/7D/08/wKiom1beub7Q9mFBAAARW-gjgOw583.png "title=" 8.png " alt= "Wkiom1beub7q9mfbaaarw-gjgow583.png"/>
Extended Regular expression: (ERE)
character matching: Same as basic regular expression
.: Any single character
[]: Any single character within the specified range
[0-9],[[:d Igit:]]: All numbers
[A-z],[[:lower:]]: lowercase letters
[A-z],[[:upper:]]: Uppercase
[[: Alpha:]]: All uppercase and lowercase letters
[[: Alnum:]]: Numbers and all uppercase and lowercase letters
[[: Space:]]: white space characters
[[:p UNCT:]]: special characters
[^]: Any single character outside the specified range
number of matches: The escape character is less than the basic regular expression "\"
*: Match any number of times
?: 0 or 1 times
+: At least once
{m}: matches M-Times
{0,m}: matches up to M times
{m,}: matches at least m times
{n,m}: up to M times, at least n times
positional anchoring: Also with basic regular expressions
^: Anchor at the beginning of the line
$: End of line anchoring
^$: Blank Line
\< or \b: The first anchor of the word
\> or \b: Final anchoring
Group:
(AB)
References:
\1
or:
|:a|b,a or B
(c|c) At,cat or cat
Basic regular and extended regular table metacharacters use Variance Summary:
The difference between the basic regular expression and the meta-character of an extended regular expression is that the extended regular expression matches and groups without the escape character "\" and more "or" matches
Extended version of Egrep:grep
Supports text search with extended regular expressions and prints the rows to which the pattern matches
egrep [OPTIONS] PATTERN [FILE ...]
-F,--fixed-strings: Supports the use of fixed strings, does not support regular expressions, and is equivalent to Fgrep
-G,--basic-regexp: Supports the use of basic regular expressions
-P,--perl-regexp: supports the use of pcre regular expressions
-E pattern,--regexp=pattern: Multi-mode mechanism
-F file,--file=file:file a text file containing a pattern for each line, the grep script
-A NUM,--after-context=num, displays the n rows following the matching line
-B NUM,--before-context=num, shows the line that matches the front n rows
-C NUM,-num,--context=num, showing n rows before and after matching rows
Such as:
-A 2
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M01/7D/07/wKioL1bewyviqhQmAAAMiNU2RpA650.png "title=" after. png " alt= "Wkiol1bewyviqhqmaaaminu2rpa650.png"/>
-B 2
650) this.width=650; "src=" Http://s2.51cto.com/wyfs02/M02/7D/07/wKioL1bew6XD5cK7AAARl0Ury1g791.png "title=" before. png " alt= "Wkiol1bew6xd5ck7aaarl0ury1g791.png"/>
-C 2
650) this.width=650; "src=" Http://s4.51cto.com/wyfs02/M02/7D/07/wKioL1bew3XSPTW8AAAXxLjfBuA076.png "title=" before and after. png "alt=" Wkiol1bew3xsptw8aaaxxljfbua076.png "/>
The GREP,EGREP option is basically generic, and the usual options listed in grep are not listed here.
Example: (The exercises in grep are also implemented with EGREP, and the following exercises mainly demonstrate the "|" or for use)
(1) Remove a file or directory with readable permissions from the/tmp directory
650) this.width=650; "src=" Http://s4.51cto.com/wyfs02/M02/7D/08/wKioL1be0fDgV2unAAAYiIzjAy8837.png "title=" belong to group readable. png "alt=" Wkiol1be0fdgv2unaaayiizjay8837.png "/>
(2) Remove the integer from # 1-255 in the # IP add show result
650) this.width=650; "src=" Http://s4.51cto.com/wyfs02/M00/7D/08/wKioL1be1WOzPjZOAAAw0dKsK08754.png "title=" 1-255. PNG "alt=" Wkiol1be1wozpjzoaaaw0dksk08754.png "/>
Although the tool is strong, only proficiency can be turned into self-use, familiar with the command to use only one way-the keyboard knocked, do not ask me why, I can only use someone told me to tell you: "The keyboard knocked rotten, monthly salary 50,000"
This article is from "Rock blog" blog, please be sure to keep this source http://johnsonxu.blog.51cto.com/11214707/1748937
The use of grep, egrep and regular expressions for the Three Musketeers of Linux