Linux Text processing the Three Musketeers grep egrep
Grep:global search REgular expression andprint out of the line.
function: Text Search tool, according to user-specified "mode (pattern) "Go through the line to search for the target text and print the matching lines."
pattern: An metacharacters character written by a regular expression and a literal character, where the regular expression is a basic regular expression, and an extended regular regular expression class 2
Metacharacters does not indicate its literal meaning, but is used to indicate a wildcard or control function filter conditions. Metacharacters has some of the following
Character Matching:
.: matches any single character
[]: matches any single character within the specified range
[^]: matches any single character outside the specified range
[: Alnum:] represents 0-9 A- Z
[: Alpha:] Representative A-Z
[:d Igit:] Rep 0-9
[: Lower:] represents A-Z
[: Upper:] Representative A-Z
[: Space:] any characters that will produce whitespace, including the space bar [TAB] CR , etc.
Number of matches: (with the basic regular)
*: any time
\? :0 times to 1 times
\+:1 times to several times
\{m,n\}: at least m times, up to n times
\{m\}: exact match m Times
\{0,n\}: up to n times
\{m,\}: at least m times
. *: Any character of any length
Location anchoring:
^: anchor at the beginning of the line, used on the leftmost side of the pattern
$: End of line anchor, used at the far right of the pattern
\<, \b: The first anchor of theWord
\>, \b: Final anchoring
^$: Blank line
\ (\): grouping, the pattern in parentheses matches to the content, and remains in the intrinsic variable,
\1: from the left, the first opening parenthesis, and the pattern that matches the middle of the right parenthesis to match the content
\2: from the left, the 2 opening parenthesis, and the pattern that matches the middle of the right parenthesis paired to the content
The extension regular has the following several, with support Egrep
.: any single character
. *: matches the previous character 0 times to Infinity
[]: Single character in range
[^] : A single character outside the range
+: 1 times to several times
? :0 to 1 times
{m}:
{M,n}
|: equivalent to or (or) mode, such as Gd|good, which means gd and good
(): Find the group string
(): grouping, the pattern in parentheses matches to the content, and remains in the intrinsic variable,
\1: from the left, the first opening parenthesis, and the pattern that matches the middle of the right parenthesis to match the content
\2: from the left, the 2 opening parenthesis, and the pattern that matches the middle of the right parenthesis paired to the content
()+: Judgment of multiple groups
I suggest you use alias to write grep egrep as an alias. This file can be written to ~/.BASHRC, which takes effect immediately when the source ~/.BASHRC is executed . This will have a color display.
Alias grep= ' grep--color=auto '
Alias egrep= ' Egrep--color=auto '
use format:grep [OPTIONS] PATTERN [FILE ...]
options are --color=auto
-V: display mode does not match rows
-I: Ignore case
-o: Show only rows with pattern matching
-Q: silent mode
-E: using extended regular
-N: Show line Numbers
Homework Exercises:
3: Display /etc/passwd in the file to Bash End of Line
grep ' bash$ '/etc/passwd
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/72/8E/wKiom1XmgROwFpMQAAFbMcePCYA870.jpg "title=" 1.png " alt= "Wkiom1xmgrowfpmqaafbmcepcya870.jpg"/>
4: Display /etc/passwd two-digit or three-digit number in a file
egrep ' \b[0-9]{2,3}\b '/etc/passwd
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/72/8E/wKiom1XmgWySztO8AAREQ8nDliQ316.jpg "title=" 2.png " alt= "Wkiom1xmgwyszto8aareq8ndliq316.jpg"/>
5: Display the ' Netstat-tan ' command results with ' LISTEN ' followed by 0, one or more whitespace characters end of the line
netstat-ant | egrep ' listen[[:space:]]*$ '
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M00/72/8B/wKioL1Xmg_ez_9VWAAD3rH5CtLU591.jpg "title=" 3.png " alt= "Wkiol1xmg_ez_9vwaad3rh5ctlu591.jpg"/>
6:Add UserBash,Testbash,basheras wellNologinUsers (NologinUser'sShellto be/sbin/nologin); then find out/etc/passwdthe user name in the file and itsShellrows with the same name
egrep ' ^ (\b[[:alnum:]]+\b). *\1$ '/etc/passwd
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/72/8B/wKioL1XmhUfhL_i2AAE5HZT5ses539.jpg "title=" 4.png " alt= "Wkiol1xmhufhl_i2aae5hzt5ses539.jpg"/>
7: Display on current systemRoot,CentOSorUser1User's defaultShelland theUID(Please create these users beforehand, if not present)
egrep ' ^root|^centos|^user1 '/etc/passwd | cut-d:-f3,7
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M00/72/8B/wKioL1XmhbjzJjllAAA0oQMaawU748.jpg "title=" 5.png " alt= "Wkiol1xmhbjzjjllaaa0oqmaawu748.jpg"/>
8: Find out /etc/rc.d/init.d/functions a line with a set of parentheses followed by a word in the file (underlined in the middle of the word)
grep ' \b[[:alpha:]_]\+\b () '/etc/rc.d/init.d/functions
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M00/72/8E/wKiom1Xmg_PyvbqXAAD9u5gnxMg693.jpg "title=" 6.png " alt= "Wkiom1xmg_pyvbqxaad9u5gnxmg693.jpg"/>
9: Find out ifconfig in the command execution result 1-255 the number between
ifconfig | egrep--color ' \< ([1-9]|[ 1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]) \> '
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/72/8B/wKioL1XmhnHjcC64AAHeM4QmU3I572.jpg "title=" 7.png " alt= "Wkiol1xmhnhjcc64aahem4qmu3i572.jpg"/>
10: Use echo to output a path, and then egrep to find its path base name; Further use Egrep to remove its directory name
The problem can't be done, it's not written.
This article is from the "CENTOS6 Learning" blog, please make sure to keep this source http://wskfnso.blog.51cto.com/4025557/1690763
Linux Text processing the Three Musketeers grep egrep