第十天 正則表達式

linux其實和internet一樣,都是一個充滿了大量信息、數據的東西,如何有效的過濾自己不用的信息、獲取有用的信息反映了一個人水平的高低,這時候用各種工具與正則的結合變的異常強大

正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。

awk對於從大的數據文件中抽取指定的數據包十分有用,比如你可以用他來管理passwd文件,或者是日誌文件(相當巨大的文件,而用了awk就會變的很輕鬆了),通常awk都是和grep結合來用的,用grep抽出行,再用awk抽出行中指定的列,不過就算單獨用awk也一樣好用。

正則表達式只是一種表示法,只要工具支持這種表示法, 那麼該工具就可以處理正則表達式的字符串。find、vim、grep、awk 、sed 都支持正則表達式,也正是因爲由於它們支持正則,才顯得它們強大

正則可以在許多種

 不同的unix/linux 程序中使用,例如:find,grep,expr,vi,sed等

 不同的編程語言中使用,例如:awk,perl,python等

在不同的程序與語言中有一些差異

下面的都是典型的通用概念,

預定義字符類

[:alnum:]  Alphanumeric characters.
[:alpha:]  Alphabetic characters.
[:blank:]  Space or tab characters.
[:cntrl:]  Control characters.
[:digit:]  Numeric characters.
[:graph:]  Characters that are both printable and visible.  (A space is printable, but not visible, while an a is both.)
[:lower:]  Lower-case alphabetic characters.
[:print:]  Printable characters (characters that are not control  characters.)
[:punct:]  Punctuation characters (characters that are not letter, digits, control characters, or space characters).
[:space:]  Space characters (such as space, tab, and formfeed, to  name a few).
[:upper:]  Upper-case alphabetic characters.
[:digit:]  Characters that are hexadecimal digits.


grep 支持三種正則 基本 擴展 perl

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