91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

正則表達式-grep命令

發布時間:2020-06-25 10:55:58 來源:網絡 閱讀:6712 作者:fxl風 欄目:開發技術

1. 基本的正則表達式  grep 

^a      表示匹配以a開頭的行; 

a$ 表示匹配以a結尾的行; 

^$ 表示空白行; 

. 表示匹配任意一位字符; 

* 表示匹配其前面字符的任意次(可以是0次); 

.* 表示匹配任意字符任意次; 

\?     表示匹配前面字符1次或0次; 

a\{3,5\}表示匹配前面字符的至少3次,最多5次;   

[a-z]   表示匹配任意一個字母; 

[a-Z]   表示匹配任意一個字母(不區分大小寫); 

[1-9] 表示匹配任意數字; 

[^1-9]  表示匹配不是數字; 

[a-Z0-9]表示匹配數字和所有字母;   

[[:alnum:]] 表示匹配數字和所有字母;

[[:space:]] 表示匹配空格; 

[[:punct:]] 表示匹配標點符號

\<或\b 表示匹配<符號后面的單詞,必須做為首部出現  比如  \<abc

\>或\b  表示匹配>符號前面的單詞,必須做為尾部出現  比如   abc\>


\( \)   表示分組  一般和后向引用合用;

后向引用

    \1  引用前面第一個分組

    \2  引用前面第二個分組

    \3  引用前面第三個分組

[root@server0 ~]# grep "\(a\)\(b\)c\1xc\1\2c" test.txt

abcaxcabc


2. 擴展的正則表達   egrep或grep -E

+ 表示匹配前面字符至少1次; 

? 表示匹配前面字符1次或0次;

{} 表示匹配前面字符的多少次; 

()      表示分組

|       表示或者


3.grep命令 

-i     不區分大小寫

-v     取反

        -o     顯示字符串本身

        -n     輸出時顯示行號

        -E     支持擴展正則表達式    等效 egrep 

        -A     顯示匹配字符的之后N行

        -B     顯示匹配字符的之前N行

-C     顯示匹配字符的前后N行

        -r     遞歸匹配全部文件 


4.基本正則表達式應用舉例

1) 查詢/var/log/message文件中包含kernel的信息

[root@server0 ~]# grep kernel /var/log/messages


2) 查詢/etc/passwd文件中以root開頭的行

[root@server0 ~]# grep "^root" /etc/passwd

root:x:0:0:root:/root:/bin/bash


3) 查詢/etc/passwd文件中以nologin結尾的行,并計算行數

[root@server0 ~]# grep "nologin$" /etc/passwd


4) 查詢/usr/share/dict/words 文件中以a或b開頭的行

[root@server0 ~]# grep "^[a,b]" /usr/share/dict/words 


5) 查詢/usr/share/dict/words文件中以不以 c,d,e,f(忽略大小寫)開頭的行,并計算行數

[root@server0 ~]# grep "^[^c-f]" /usr/share/dict/words | wc -l 


6) 在/etc/passwd中選出所有不包含nologin 的行。

[root@server0 ~]# grep -v "nologin" /etc/passwd


7) 查詢/usr/share/dict/words文件中以a開頭且第三個字符是z的行

[root@server0 ~]# grep "^a.z" /usr/share/dict/words


8)查詢/usr/share/dict/words文件中以a開頭且后面跟隨5個字符的行

[root@server0 ~]# grep "^a.\{5\}$" /usr/share/dict/words 


9)查詢你的系統的CPU有幾個核

[root@server0 ~]# grep "processor" /proc/cpuinfo  | wc -l


10) 查詢/usr/share/dict/words文件中總共10位,且以z結尾的行。

[root@server0 ~]# grep "^.\{9\}z$" /usr/share/dict/words 


11) 查詢/usr/share/dict/words文件中以 a,b,c開頭,且第5位只能為s的行

[root@server0 ~]# grep "^[a,b,c]...s" /usr/share/dict/words 


12) 查詢/usr/share/dict/words文件中所有以兩位數字開頭的行

[root@server0 ~]# grep "^[1-9][1-9]" /usr/share/dict/words 


13) 查詢/usr/share/dict/words文件中以a,b,c開頭的且不以a,b,c結尾行

[root@server0 ~]# grep "^[a,b,c].*[^a,b,c]$" /usr/share/dict/words 


14)查詢/usr/share/dict/words文件中以小寫字母開頭,以大寫字母結尾的行

[root@server0 ~]# grep "^[a-z].*[A-Z]$" /usr/share/dict/words


5.擴展正則表達式

1)去除a.txt 空白行與#開頭的行

[root@server0 ~]# egrep -v "^$|^#" a.txt

 

2)搜索god good goood等字符串

[root@server0 ~]# egrep "go{1,3}d" a.txt


3)搜索gd 或者 god字符串的行

[root@server0 ~]# egrep "go?d" a.txt


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建瓯市| 徐州市| 九台市| 弋阳县| 虞城县| 巴东县| 雷州市| 上栗县| 云阳县| 清水县| 荆州市| 顺平县| 霞浦县| 福安市| 墨竹工卡县| 千阳县| 海兴县| 太仓市| 蓬安县| 定边县| 吉木萨尔县| 宁安市| 通化县| 拜泉县| 苏州市| 新绛县| 清徐县| 兴海县| 安乡县| 罗源县| 鄂托克前旗| 常熟市| 渭南市| 广昌县| 二手房| 紫金县| 海原县| 虞城县| 仪陇县| 安新县| 容城县|