您好,登錄后才能下訂單哦!
文本處理三劍客
grep系:grep、egrep、fgrep,文本搜索工具,居于“PATTERN”對于給定的文本進行模糊搜索。
sed:tream EDitor,流編輯器,行編輯器,文本編輯工具;
awk:gawk--GNU awd,文本格式化工具,文本報告生成器,文本處理的編輯語言;
grep系:grep、egrep、fgrep
grep:Global search REgular expression and Print out the line.
利用增則表達式進行全局搜索并將匹配的行顯示出來;
格式:grep [OPTIONS] PATTERN [FILE...]
PATTERN:過濾條件,是由正則表達式元字符以及沒有特殊含義的文本字符組成。
正則表達式的元字符:會被正則表達式引擎解釋為特殊含義;pcre--perl語言的正則表達式引擎; 其中正則表達式分兩中:
一、基本的正則表達式:BRE;
二、擴展的正則表達式:ERE;
grep默認僅支持基本正則表達式;
egrep默認僅支持擴展正則表達式;
fgrep默認不開啟正則表達式;
文本字符:只具備字符表面含義的那些字符;
常用選項:
-i,--ignore-case:忽略文本字符的大小寫;
-v,--invert-match:方向匹配;最終顯示的結果是PATTERN不能匹配的行;
-c,--count:計數,統計匹配PATTERN的所有行數;
-o,--only-嗎thing:關閉貪婪模式,僅顯示PATTERN能夠匹配的內容;
-q,--quiet,--silent:安靜模式,不輸出任何匹配結果;
--color[=WHEN],--colour[=WHEN]:將匹配PATTERN的內容以特殊顏色高亮顯示;
-E,--extended-regexp:擴展的正則表達式,grep -E相當于egrep;
-F,--fixed-strings,--fixed-regexp:grep -F相當于fgrep
-G,--basic-regexp:基本的正則表達式,egrep -G相當于grep
-P,--prel-regecp:使用PCRE(Perl Regular Expression)引擎;
-A NUM,--after-context=NUM:在顯示匹配PATTERN的行的同時顯示起后面的NUM行;
-B NUM, --before-context=NUM:在顯示匹配PATTERN的行的同時顯示起前面的NUM行;
-C NUM, -NUM, --context=NUM:在顯示匹配PATTERN的行的同時顯示起前后各NUM行;
PATTERN:
正則表達式元字符:
基本的正則表達式元字符:
GLOBBING-----簡化版的正則表達式:[] ? *
字符匹配:
.:匹配任意單個字符
[]:匹配指定范圍內的任意單個字符;
[^]:匹配指定范圍以外的任意單個字符;
下列所有的字符集都可以放置于[]之中用于匹配單個字符:
[:lower:]、[:upper:]、[:alpha:]、[:digit:]、[:space:]、[:alnum:]、[:punct:]、[:blank:]
[:xdigit:]:所有的十六進制數字;
a-z:所有的小寫字母
A-Z:所有的大寫字母
0-9:標識所有的十進制數字
次數匹配:該類字符之前的那個字符可以出現的次數;
*:其前面的字符可以出現任意次(0次,1次或多次);
\?:其前面的字符可有可無(0次或1次);
\+:其前面的字符至少出現一次(1次或多次);
\{m\}:其前面的字符必須出現m次;
\{m,n\}:其前面的字符至少出現m次,至多出現n次;(m<n)
\{,n\}:其前面的字符至少出現0次,至多出現n次;
\{m,\}:其前面的字符至少出現m次,×××;
在正則表達式中,表示任意長度任意字符的方式:.*
位置錨定字符:
行錨定:
行首錨定:^
行尾錨定:$
字錨定:
字首錨定:\<或\b
字尾錨定:\>或\b
注意: \b:舊版本中的錨定方法,建議不使用:
對于正則表達式引擎來說,字是由非特殊字符組成的連續字符串;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。