選擇性操作
豎線(|)字元是元字元擴充套件集的一部分,用於指定正規表示式的聯合。如果某行匹配其中的乙個正規表示式,那麼它就匹配該模式。例如,正規表示式:unix|linux
將匹配包含字串"unix" 或字串"linux" 的行。可以指定更多的選擇,例如:
unix|linux|netbsd
使用egrep時,列印匹配這3種模式中任意一種的行。
在sed中,沒有聯合元字元,可以分別指定每種模式。在下面內容中,我們將考慮分組的操作,我們將看到關於這個元字元的其他示列。
分組操作
圓括號()用於對正規表示式進行分組並設定優先順序。它們是元字元擴充套件集的一部分。假設在文字檔案中公司的名稱為"bigone" 或"bigone computer" ,使用表示式:
bigone(computer)?
將匹配字串"bigone" 本身或後面跟有乙個字串" computer" 的形式。同樣,有些術語有時會用全拼,有時會用縮寫、則可以使用:
$ egrep "lab(oratorie)?s" mail.list
bell laboratories, lucent technologies
bell labs
可以使用豎線和圓括號來對選擇性操作進行分組。在下面的示列中,我們使用它來指定與單詞"company" 的單數或複數匹配。
compan(y|ies)
要注意,在大多數sed和grep的版本中不能對加圓括號的一組字元應用數量詞,但是在egrep和awk 的所有版本中都是可以的。
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...
正規表示式 Linux
主要內容 1 正規表示式2 基礎3 擴充套件4 通配5 grep命令 正規表示式基礎 1 元字元 metacharacters 是用來闡釋字元表示式意義的字元,簡言之,元字元就是描述字元的字元,它用於對字元表示式的內容 轉換及各種操作資訊進行描述。正規表示式是由一串字元和元字元構成的字串,簡稱re ...
Linux正規表示式
正規表示式是一種符號表示法,用於識別文字模式。linux處理正規表示式的主要程式是grep。grep搜尋與正規表示式匹配的行,並將結果輸送至標準輸出。1.grep匹配模式 grep按下述方式接受選項和引數 其中,regex表示正規表示式 1 grep options regex files 其中op...