亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

在Linux下正則表達式和grep命令的使用

2024-09-05 23:01:35
字體:
來源:轉載
供稿:網友

正規表示法( Regular Exdivssion,RE )

1 什么是正規表示法:

什么是正規表示式 ( Regular Exdivssion, 底下簡稱 RE ) 呢?

簡單的說,在 Linux  的環境下,我們可以透過『字符串以及一些特殊字符的輔助』來進行文字的比對工作,好來讓使用者篩選自己所需要數據。 
這些特殊的字符與搭配使用的工具,就構成了正規表示法的主軸!

例如 /etc/rc.d/init.d 這個目錄當中好了,如果你要找到一個文件內容含有 mail 這個字符串的文件名,要怎么搜尋呢?利用 grep 配合 mail 以及萬用字符來搜尋所有的文件名『grep 'mail' /etc/rc.d/init.d/*』

2 正規表示法對于系統管理員的用途:

對于系統管理員來說,正規表示法則是一個『不可不學的好東西!』由于系統如果在繁忙的情況之下,每天產生的訊息信息會多到你無法想象的地步,而我們也都知道,系統的『錯誤訊息登錄文件』 的內容記載了系統產生的所有訊息,當然,這包含你的系統是否被『入侵』的紀錄數據。但是系統的數據量太大了,要系統管理員的 你每天去看這么多的訊息數據,想不瘋掉都很難,這個時候,我們就可以透過『正規表示法』的功能,將這些登錄的信息進行處理,僅取出『錯誤』的信息來進行分析。

3 正規表示法的廣泛用途:

除了系統管理員之外,一大堆的軟件與設定都是支持正規表示法的,最常見的例子就是『郵件服務器』!您是否有常常收到電子郵件里最讓人詬病 的『廣告信件』呢?那如果我在 Server 端就將廣告信件給剔除的話,客戶端就會減少很多不必要的頻寬損耗了對吧!那么如何剔除廣告信件呢?由于廣告信件幾乎都有一定的標題或者是內容,因此,只要 每次有來信時,都先將來信的標題與內容進行特殊字符串的比對,使用正規表示法發現有不良信件就予以剔除!目前兩大服務器軟件sendmail 與 postfix 都支持正規表示法的比對功能!很多的服務器軟件、以及套件都支持正規表示法。

4 grep

語法:[root @test /root ]# grep [-acinv] '搜尋字符串' filenames-list

參數說明:

-a :將 binary 文件以 text 文件的方式搜尋數據

-c :計算找到 '搜尋字符串' 的次數

-i :忽略大小寫的不同,所以大小寫視為相同

-n :順便輸出行號

-v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內容的那一行!

范例:

[root @test /root]# grep 'root' /var/log/secure

搜索 /var/log/secure 這個文件中包含 root 的行

[root @test /root]# grep -v 'root' /var/log/secure

搜索沒有 root 的行

[root @test /root]# grep [A-Z]ANPATH /etc/man.config

說明:grep 是一個很常見的指令,最重要的功能就是進行字符串數據的比對了,需要說明的是『grep 在一個文件中查尋一個字符串時,他是以"整行"為單位來數據的擷取的!』

grep 是最簡單的正規表示法搜尋指令之一,他并不支持一些更嚴謹的正規表示法內容,不過,已經相當的好用。

例題一:找出這個文件里面含有 know 這個字符,并將行號列出來:注意,大小寫是不一樣的

[root @test /root ]# grep -n 'know' regexp.txt

例題二:找出這個文件里面含有 * 這個字符,并將行號列出來:

[root @test /root ]# grep -n '/*' regexp.txt

例題三:我要將所有 know 不論大小寫都列出來,并列出行號:

[root @test /root]# grep -ni 'know' regexp.txt

注意:類似的指令還有egrep、awk、gawk、sed等,將在后面詳細說明

5 正規表示法的特殊字符(charaters)與 egrep 指令

特殊字符 表示意義

^word 待搜尋的字符在行首

word$ 待搜尋的字符在行尾

. 匹配任何一個可能的字符

/ 跳脫符號將特殊字符變成普通字符

? 任何一個『單一』字符

* 匹配模式中重復的字符

[list] 列表中的字符

[range] 列表中范圍內的字符

[^list] 反向選擇,與 [list] 相反

[^range] 反向選擇,與 [range]相反

/{n/} 與前一個相同字浮連續 n 個

/{n,m/} 與前一個相同字浮連續 n-m 個

請特別留意的是,『正規表示法的特殊字符』與一般在指令列輸入指令的『萬用字符』并不相同,例如,在萬用字符當中, * 代表的是 0 ~ 無限多個字符的意思,但是在正規表示法當中, * 則是重復前一個字符的意思~使用的意義并不相同,不要搞混了!

例題:在 /etc 底下,只要含有 XYZ 三個字符的任何一個字符的那一行就列出來

grep [XYZ] /etc/*

例題:我想要知道在 /etc 里面,只要句首是 w-z 的就將他印出來?

grep ^[w-z] /etc/*

6 diff比較兩個文件內容是否有不一致的指令!

語法:[root @test /root ]# diff file1 file2

范例:[root @test /root]# diff index.htm index.html

例子:ls –l | grep ‘^d’ 查詢子目錄

注意:使用規則表達式要養成良好的習慣,就是在匹配模式的兩端加上‘’。這樣和shell的文件通配符號做區別

7 充分規則表達式專用字符

符號 執行

pattern1 | pattern2 邏輯或

(patten) 對模式進行分組

char+ 搜索前面字符的一個或者多個重復實例

char? 搜索前面字符的一個或者0個實例

例題:t+ 匹配一個或一個以上連續的t,如t tt ttt

t? 匹配0個或1個t 如 t 或 ‘ ’

“create | stream “ 和兩種模式的任一種進行匹配

重點回顧

? shell文件匹配字符和規則表達式的區別

shell文件匹配字符是用于匹配文件名

正規表示法RE的用途主要是用來做為『搜尋』字符串之用,匹配的文件里面的內容和用來過濾特殊訊息等用途;

? 由于嚴謹度的不同,正規表示法之上還有更嚴謹的延伸正規表示法;

? 正規表示法的處理方式,經常是以『整行』或稱為『整段』來進行處理的;

? grep 與 egrep 在正規表示法里面是很常見的兩支程序,其中, egrep 可以用不同的模式去匹配,以及支持更嚴謹的正規表示法的語法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线电影欧美日韩一区二区私密| 中文字幕综合一区| www.日韩.com| 午夜精品一区二区三区视频免费看| 2019中文字幕在线观看| 日本不卡视频在线播放| 午夜精品一区二区三区视频免费看| 久久久久久国产免费| 在线播放日韩欧美| 国模精品视频一区二区| 亚洲欧美激情四射在线日| 久久久久国产精品www| 日韩综合视频在线观看| 久久免费精品日本久久中文字幕| 亚洲级视频在线观看免费1级| 欧美成人激情图片网| 欧美性生交xxxxx久久久| 精品国产一区二区三区久久| 亚洲自拍小视频免费观看| 一区二区三区四区精品| 国产精品色午夜在线观看| 丁香五六月婷婷久久激情| 欧美亚洲国产另类| 欧美日韩在线一区| 国产精品久久久久久久一区探花| 欧美精品videofree1080p| 亚洲国产成人在线播放| 国产精品中文在线| 亚洲区免费影片| 久热精品视频在线| 一区二区三欧美| xvideos亚洲| 欧美另类高清videos| 国产成人精品一区二区| 国产91精品久久久久久| 77777少妇光屁股久久一区| 91精品国产99| 成人妇女免费播放久久久| 日韩欧美国产成人| 欧美孕妇孕交黑巨大网站| 日韩小视频网址| 91免费人成网站在线观看18| 亚洲欧美日韩国产中文专区| 免费97视频在线精品国自产拍| 国模精品一区二区三区色天香| 91精品国产91久久久久久最新| 久久噜噜噜精品国产亚洲综合| 欧洲午夜精品久久久| 国产精品影片在线观看| 国产精品美腿一区在线看| 久久久在线免费观看| 国产美女久久精品香蕉69| 国产精品xxx视频| 亚洲美女免费精品视频在线观看| 久久大大胆人体| 欧美怡红院视频一区二区三区| 热99久久精品| 精品人伦一区二区三区蜜桃网站| 亚洲最大中文字幕| 亚洲黄色免费三级| 亚洲男人av电影| 欧美精品18videosex性欧美| 欧美国产日韩二区| 中日韩美女免费视频网站在线观看| 日韩精品一区二区三区第95| 疯狂做受xxxx高潮欧美日本| 国产精品久久久久aaaa九色| 欧美国产日本高清在线| 日本亚洲欧美三级| 国产综合视频在线观看| 欧美大秀在线观看| 日韩av在线网址| 日韩一区二区精品视频| 青草青草久热精品视频在线网站| 久久国产天堂福利天堂| 亚洲国产精品一区二区三区| 久久久久久免费精品| 黄色精品在线看| 亚洲第一区中文字幕| 亚洲成人网久久久| 国产极品精品在线观看| 精品免费在线视频| 国产亚洲欧美另类中文| 国产亚洲精品久久久久动| 亚洲天堂成人在线视频| 欧美精品videossex性护士| 国产精品福利无圣光在线一区| 国产精品视频在线观看| 国产精品免费久久久久久| 亚洲理论在线a中文字幕| 日韩电影免费在线观看| 日韩成人av在线| 国内精品美女av在线播放| 亚洲国产欧美日韩精品| 精品久久久久久久久久久久久久| 国产精品亚发布| 久久久精品免费视频| 青青草原成人在线视频| 精品在线观看国产| 亚洲美女av电影| 久久国产精品久久国产精品| www日韩欧美| 亚洲成人av片在线观看| 亚洲欧美日韩图片| 91免费在线视频| 精品日本美女福利在线观看| 国产精品夜色7777狼人| 日韩精品在线观看一区二区| 国产精品自产拍在线观看| 中文字幕一区二区三区电影| 性夜试看影院91社区| 国产精品一区二区三| 亚洲国产成人精品久久久国产成人一区| 自拍偷拍亚洲欧美| 成人妇女淫片aaaa视频| 久久国产精品久久国产精品| 日韩黄色av网站| 成人动漫网站在线观看| 国产亚洲精品高潮| 欧美亚洲国产另类| 日韩精品中文字幕在线| 久久综合五月天| 国产精品7m视频| 操人视频在线观看欧美| 精品久久久999| 欧美巨乳在线观看| 色婷婷**av毛片一区| 精品五月天久久| 久久91精品国产91久久跳| 欧美成人精品xxx| 黑人巨大精品欧美一区二区一视频| 国内精品视频在线| 欧美成人黑人xx视频免费观看| 91国内揄拍国内精品对白| 久热精品视频在线| 国产精品丝袜久久久久久不卡| 色婷婷成人综合| 91视频国产高清| 91亚洲永久免费精品| 夜夜嗨av一区二区三区四区| 亚洲永久免费观看| 成人网在线观看| 精品久久久久久久久中文字幕| 亚洲91精品在线| 国产精品旅馆在线| 久久久91精品| 日韩成人激情影院| 4444欧美成人kkkk| 91国产精品91| 久久久久久久久久av| 国产精品扒开腿做爽爽爽男男| 国产一区二区三区久久精品| 日韩在线欧美在线国产在线| 中文在线不卡视频| 国产美女直播视频一区| 国产日本欧美一区二区三区在线| 亚洲欧美另类中文字幕| 一区二区福利视频| 日本一本a高清免费不卡| 欧美激情一区二区三区高清视频| 国产精品日韩在线一区| 红桃av永久久久| 久久影视电视剧免费网站清宫辞电视| 亚洲成人久久久|