(七)grep命令行提取符號

1:基礎正則表達式 grep 正則表達式

(正則表達式是匹配字符串使用的,郵箱手機號等等)google

(1)*  前一個字符匹配 0 次或任意屢次。字符串

示例:基礎

grep "a*"  1.txt  沒有任何意義  *能夠有0次至關於所有匹配擴展

grep "aa*" 1.txt 匹配至少包含一個a的字符串grep

grep "aaaaa*"    至少會匹配包含4個a的字符文件

(2).  匹配除了換行符外任意一個字符。co

示例:字符

grep "." ./*   匹配當前文件夾的全部字符 .表示任意一個字符數字

grep "a..b" 1.txt  匹配在a,b之間至少包含兩個字符的字符串

 

(3)

^  匹配行首。例如:^hello 會匹配以 hello 開頭的行。

$  匹配行尾。例如:hello&會匹配以 hello 結尾的行。

 

示例:

grep "^M"  1.txt    查找以M開頭的字符。

grep "\.$" 1.txt    查找以.結尾的字符串 \.須要進行轉義。

而「$」則會匹配空白行:

示例:grep "^$" 1.txt   ^$ 行首行尾都是空

grep -v "^$" 1.txt 取反匹配非空白行

(4)

[]  匹配中括號中指定的任意一個字符,只匹配一個字符。

例如:

[0-9] 匹配任意一位數字,

[a-z][0-9]匹配小寫字和一位數字構成的兩位字符。

grep "[a-z][0-9]" ./*

 

(1) [^]

匹配除中括號的字符之外的任意一個字符。

例如: [^0-9] 匹配任意 一位非數字字符,[^a-z] 表示任意一位非小寫字母。

 

(5)\  轉義符。用於取消講特殊符號的含義取消。

  

(6)

\{n\}表示其前面的字符剛好出現 n 次。例如:[0-9]\{4\} 匹配 4 位數字,[1][3-8][0-9]\{9\} 匹配手機號碼。

\{n,\}表示其前面的字符出現不小於 n 次。例如: [0-9]\{2,\} 表示兩位及以上的數字。

\{n,m\} 表示其前面的字符至少出現n次,最多出現m次。例如: [a-z]\{6,8\}匹配 6 到 8 位的小寫字母。

 

示例:

grep "a\{3\}" 1.txt  匹配包含三個連續a的字符。

grep "[su]a\{3\}[il]" 1.txt

grep "a\{3,4\}" 1.txt  至少出現3個連續的a,最多4個連續的a.

 

擴展正則表達式  grep –E

+   字符匹配 1 次或任意屢次。

示例: o+gle」會匹配「gogle」、「google」或「gooogle」,固然如

果「o」有更多個,也能匹配。

?  前一個字符匹配 0 次或 1 次。

例如:  u?r」能夠匹配「colour」或「color」。

|  「was|his」會匹配既包含「was」的行,也匹配包含「his」的行。

()配其總體爲一個字符,即模式單元。能夠理解爲由多個單個字符組成的大字符。

如「(dog)+」會匹配「dog」、「dogdog」、「dogdogdog」等,由於

被()包含的字符會當成一個總體。但「hello (world|earth)」

會匹配「hello world」及「hello earth」。

相關文章
相關標籤/搜索