linux正規表示式

2022-10-10 09:51:12 字數 2190 閱讀 1912

1.搜尋特定字串

[root@localhost ~]# grep  'the' anaconda-ks.cfg   (在anaconda-ks.cfg中查詢包含the的行)

[root@localhost ~]# grep -n 'the' anaconda-ks.cfg (-n顯示行號)

反選,即不包含the的行

[root@localhost ~]# grep -vn 'the' anaconda-ks.cfg

取得不分大小寫的the

[root@localhost ~]# grep -in 'the' anaconda-ks.cfg

2.來搜尋集合字元  

搜尋test和tast,發現有通用的t?st

[root@localhost ~]# grep -n 't[ae]st' anaconda-ks.cfg  (中不論有多少個字元都代表某乙個字元,且可以用[a-za-z0-9]來表示所有字母和數字)

搜尋含有oo的行

[root@localhost yaotameng]# grep -n 'oo' test.txt

2:the mgoongkey

3:the moonkey

搜尋oo且oo前不是g的行

[root@localhost yaotameng]# grep -n '[^g]oo' test.txt

3:the moonkey

搜尋oo,且前邊不要大寫字母

[root@localhost yaotameng]# grep -n '[^a-z]oo' test.txt

2:the mgoongkey

只在行首出現的the

[root@localhost yaotameng]# grep -n ^'the' test.txt  (注意這裡是單引號 不是,中括號表示乙個字元)

2:the mgoongkey

^在內外是不同的意義:

在內表示反選,如[^a-z]oo表示oo前不是小寫的字母行

在外表示在行首 如^[a-z]表示以小寫字母開頭的行

在行尾出現則用$號

如要找到一.結尾的行

[root@localhost yaotameng]# grep -n '\.$' test.txt

4:bb test a.

找到空白行

[root@localhost yaotameng]# grep -n '^$' test.txt

4:6:

8:[root@localhost yaotameng]#

去掉文件中的空白行和#注釋行

[root@localhost yaotameng]# grep -v '^$' my.cnf |grep -v '^#'

正則表達是中的.與* 

.表示一定有乙個字元

*表示重複前乙個字元0-無窮多次

限定範圍{}

[root@localhost yaotameng]# grep -n 'o\' test.txt  (找到兩個o的字串)

2:the mgoongkey

3:the moonkey

[root@localhost yaotameng]# grep -n 'go\g' test.txt  (找g,g中間有2-5個o的字串)

2:the mgoogkey

[root@localhost yaotameng]# grep -n 'go\g' test.txt  (找g,g中間有2個以上o的字串)

2:the mgoogkey

延伸正則表示法

grep需要加-e才能支援延伸表示法

或者直接用命令egrep

+:重複乙個活乙個以上前乙個字元

egrep -n 'go+d' regular_express.txt  (god ,good,gooo...d)

?:0個或乙個前乙個字元

egrep -n 'go?d' regular_express.txt (gd或者god)

|:用戒( or )癿方式找出數個字串

egrep -n 'gd|good|dog' regular_express.txt

():找出群組字串

egrep -n 'g(la|oo)d' regular_express.txt (找出glad或者good)

()+:多個重複群組

echo 'axyzxyzxyzxyzc' | egrep 'a(xyz)+c'

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...