歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux文本處理工具grep命令詳解

一:grep的簡介:

文本搜索工具,根據用戶指定的文本模式對目標文件進行逐行搜索,顯示能夠被模式所匹配到的行。配合正則表達式的使用可以實現強大的文本處理。下面一一說明正則的例子。

二:文本處理工具分類

常用的有:grep,egrep,fgrep。

區別:

grep:在沒有參數的情況下,只輸出符合RE(Regular Expression)字符。

egrep:等同於grep -E,和grep最大的區別就是表現在轉義符上比如grep 做次數匹配時\{n,m\}egrep則不需要直接{n,m}。egrep方便,簡介。

fgrep:等同於grep -f,但是不能使用正則表達式。所有的字符匹配功能均已消失。

三:grep參數說明:

格式:grep [OPTIONS] PATTERN(模式) [FILE...]

常用選項:

--color=auto:顯示顏色的參數。

-n:輸出行號。

-v:反向匹配,顯示不能被模式所匹配到的行。比如指定root,匹配的就不是root。

例子:

-o:僅顯示被模式匹配到的所指定的字符。

-i:不區分大小寫字符。

-A #:不但能匹配到指定的字符那一行。而且字符後面所指定的n行也能顯示出來。

 

-B #:不但能匹配到指定的字符那一行。而且字符前面所指定的n行也能顯示出來。

-C #:不但能匹配到指定的字符那一行。而且字符前後所指定的n行也能顯示出來。

為了方便我把grep --color=auto定義一個別名,別名為cgrep。方便使用。後續直接使用cgrep 就能顯示顏色了。

alias cgrep="grep --color=auto"

四:常用的字符匹配和實例:

只要使用字符匹配和一些元字符的時候,必須用引號引起來;

引號用單引或雙引都即可。

.:任意單個字符,指的就是一個點代表1個字符。這個字符不特殊指分,符號也行。

[]:指定范圍內的任意單個字符。這個括號中指定的字符都能匹配出來,匹配范圍廣。

[^]:指定范圍外的任意單個字符,和上面[]這個想法。取反。通俗的意思就是括號中所指定的字符,就匹配不到了。

Copyright © Linux教程網 All Rights Reserved