亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來到小浪云!


在Linux中使用grep正則表達(dá)式入門


avatar
小浪云 2025-01-05 116

正則表達(dá)式是一種符號表示法,用于識別文本模式。linux處理正則表達(dá)式的主要程序是grep。grep搜索與正則表達(dá)式匹配的行,并將結(jié)果輸送至標(biāo)準(zhǔn)輸出。

grep匹配模式

grep按下述方式接受選項(xiàng)和參數(shù)(其中,Regex表示正則表達(dá)式)

grep [options] regex [files]

其中options主要為下表:

  選項(xiàng)	含義	功能描述 -i	ignore case	忽略大小寫 -v	invert match	不匹配匹配的 -l	file-with-match	輸出匹配的文件名 -L	file-without-match	輸出不匹配的文件名 -c	count	輸出匹配的數(shù)目(行數(shù)) -n	number	輸出匹配行的同時在前面加上文件名及在文件名中的行數(shù) -h	no-filename	抑制文件名的輸出 

舉例說明

假設(shè)有三個文件del1、del2、del3三個文件的內(nèi)容如下
在Linux中使用grep正則表達(dá)式入門

例子

在Linux中使用grep正則表達(dá)式入門

特殊字符
  符號	含義	                舉例 ^	開始標(biāo)記	                "^abc"滿足的例子abc、abcd ^	非(在[]內(nèi))	        "[^abc]"滿足的例子:ddd、mpd $	結(jié)束標(biāo)記           	”abc$”滿足的例子abc、mmabc .	任意字符          	"a.c"滿足的例子abc、fapcc < 匹配單詞開始       	"	匹配單詞結(jié)束        	"abc>"滿足的例子abc、pmrabc |	或	                "AAA|BBB"滿足的例子AAA、BBBpp
范圍
 符號	含義	                                                         舉例 ?	匹配前一個字符0或1次	                                       "abc?"滿足的例子ab、mabcd *	匹配前一個字符≥0次	                                       "abc*"滿足的例子abbb、abcdk +	匹配前一個字符≥1次	                                       "abc+"滿足的例子abcd、abcccdd {}	{m}、{m,n}、{m,}、{,n}分別為匹配前一個字符m次、m到n次、≥m次、≤n次  "abc{3,5}"滿足的例子abcccc、abcccccc []	[]內(nèi)如果不是范圍,選其一;是范圍的話,范圍內(nèi)選其一	               "m[abc]p"滿足的例子acpd;m[1-9]p滿足的例子m8pp ()	將候選的所有元素放在()內(nèi),用|隔開	                               "a(1|2|3)bc"滿足的例子a1bc、mba3bcd

注意:{}在鄭則表達(dá)式中需要轉(zhuǎn)移,而{}()不需要。

注意理解{}范圍的例子:
在Linux中使用grep正則表達(dá)式入門

標(biāo)準(zhǔn)字符類
  字符類	釋義 [:alnum:]	字母和數(shù)字,與[A-Za-z0-9]等價 [:word:]	[:alnum:]加上下劃線_ [:alpa:]	字母,與[A-Za-z]等價 [:digit:]	數(shù)字,與[0-9]等價 [:xdigit:]	十六進(jìn)制字符,與[0-9A-Fa-f等價] [:blank:]	空格和制表符 [:graph:]	可見字符,靠擴(kuò)33~126 [:lower:]	小寫字母 [:upper:]	大寫字母 [:print:]	可打印字符 [:space:]	空白字符,等價于[	  ] [:punct:]	標(biāo)點(diǎn)符號 [:cntrl:]	ASCII控制碼,包括字符0~31以及127

相關(guān)閱讀