命令中的正則表達式
如果要在命令輸出或文本中篩選內容時使用模糊查找,就需要使用正則表達式。正則表達式是一套由多個元字符組成的模糊查找模式,使用正則表達式可以快速查找和定位文本中指定的內容。
1、單字符匹配符.
正則表達式主要由一些元字符和匹配模式組成
單字符匹配符可以匹配任意單個字符,這個字符的功能和文件名匹配符中的?功能相同
使用正則表達式查找文本,首先需要使用元字符組成一個查找模式
(1)使用查找模式時,通常將其放入兩個斜杠//中,然后再放入命令,例如要在一個文本中查找匹配模式/.i...../,可能選項就有:只要小寫字母沒有出現在行首,或行尾的最后有5個字符都能匹配
2、單字符或字符串重復匹配符*
用來匹配單個字符或者一個字符串序列的一次或者多次重復出現
3、行首匹配符^
用于在匹配中指示行首位置字符串或者模式,使用時需要將行首匹配符放在要匹配的字符串或模式的前面
例如對命令ls -1 使用行首匹配/^1/,結果都是以1開頭的
4、行尾匹配符$
用于在文本的每一行的行尾匹配字符串或模式,使用時將行尾匹配符放在字符串或模式后面
例如在文本中匹配所有行尾是love的行
/love$/
5、反斜杠屏蔽符/
該符用來屏蔽一些特殊字符的特殊含義,常見的特殊字符可能是引用符號,注釋符號,通配符和邏輯運算符等,下面列舉一些特殊的符號
注釋、分隔符號:#、;等
引用符號:$、``、""等
元字符:.、*、^、$、?、[]、/等
邏輯運算符或操作符:||、&&等
在命令中使用這些字符時,都要使用反斜杠將其特殊含義屏蔽
例如使用乘法符號*做乘法運算,就要用反斜杠將其特殊含義屏蔽在做使用
# expr 256 /* 256
6、范圍匹配符[]和排除范圍匹配符[^]
與文件名通配符中的范圍匹配符用法基本相同
(1)匹配單詞love和Love:
/[L]ove/
(2)不匹配所有的字母:
[^a-z]
7、詞首、詞尾匹配符 /< 和 />
用于在單詞開頭和單詞結尾匹配特定的字符或模式
(1)例如要匹配以disc 為詞首的文本,可以使用
//<disc/
新聞熱點
疑難解答