正則表達式-Linux系統的任督二脈

1.什麼是正則表達式

正則表達式就是處理字符串的方法,它是以行爲單位來進行字符串的處理行爲,正則表達式通過一些特殊符號的輔助,可以讓用戶輕易達到查找、刪除、替換某特定字符串的處理程序。
正則表達式基本上是一種“表示法”,只要工具程序支持這種表示法,那麼該工具程序就可以用來作爲正則表達式的字符串處理之用。

2.正則表達式的用途

  • 對於系統管理員來說,在系統的數據量特別大的時候,想查看一行有問題的信息,就可以用正則表達式將信息來進行分析,這樣系統的管理工作就會更加方便。
  • 郵件服務器,是最常見的使用正則表達式的地方。

3.基礎正則表達式

正則表達式只是處理字符串的一種表示方法,對字符排序有影響的語系數據就會對正則表達式的結果產生影響。正則表達式也需要支持工具程序輔助纔行,最簡單的字符串選取工具就是grep。

語系的影響

例如

  • LANG=C時:0 1 2 3 4 … A B C D…Z a b c …z
  • LANG=zh_CN時:0 1 2 3 … a A b B c C …z Z
    爲了避免這樣的編碼所造成的英文與數字的選取問題,有些特殊的符號得讓我們瞭解一下。
特殊符號 代表意義
[:alnum:] 代表英文大小寫字符及數字,即0-9,A-Z,a-z
[:alpha:] 代表英文大小寫字符,即A-Z,a-z
[:blank:] 代表空格鍵和Tab按鍵
[:cntrl:] 代表鍵盤上的控制按鍵,即包括CR,LF,Tab,Del等
[:digit:] 代表數字而已,即0-9
[graph] 除了空格符之外的所有字符
[:lower:] 代表小寫字符,即a-z
[:upper:] 代表大寫字符,即A-Z
:print: 代表任何可以被打印出來的字符
[:punct:] 代表標點符號(punctuation symbol),即" ’ ? / : ;# $
[:space:] 任何會產生空白的字符,包括空格鍵[Tab]CR等
[:xdigit:] 代表十六進制的數字類型,因此包括0-9,A-F,a-f的數字與字符

grep的一些高級參數

grep [-A][-B] [--color=auto] '搜尋字符串' filename
-A:後面可加數字,爲After的意思,除了列出該行外,後續的n行業列出來
-B:後面可加數字,爲befor的意思,除了列出該行外,前面的n行業列出來
--color=auto可將正確的那個選取數據列出顏色
dmesg 可列出內核產生的信息

grep是一個很常見也很常用的命令,它最重要的功能就是進行字符串數據的對比,然後將符合用戶需求的字符串打印出來,需要說明的是grep在數據中查找一個字符串時,是以整行爲單位來進行數據的選取的
注意
在關鍵字的顯示方面上,可以在~/.bashrc內加上這行:alias grep=‘grep --color=auto’,再以“source ~/.bashrc”來生效即可,這樣每次執行grep它都會自動幫你加上顏色顯示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章