Shell基礎 正規表示式

2021-08-15 21:00:54 字數 1382 閱讀 7291

shell基礎-正規表示式

正規表示式

它用來在檔案中匹配符合條件的字串,正則是包含匹配。grep、awk、sed等命令支援正規表示式。

而萬用字元用來在系統匹配符合條件的檔名,是完全匹配。ls、find、cp這些命令不支援正規表示式,所以只能使用shell自己的萬用字元來進行匹配了。

元字元                    作用

*             把前乙個字元匹配0次,或任意次

例子:grep "a*" hh.txt   匹配hh.txt所有內容,包括空白行

grep "aa*" hh.txt   匹配hh.txt中至少包含有乙個a的行。

grep "aaa*" hh.txt   匹配hh.txt中最少包含兩個連續a的行。

.            匹配除換行符外任意乙個字元

例子:grep "s..d" hh.txt   匹配在s和d這兩個字母之間有兩個字元的單詞所在行

grep "s.*d" hh.txt   匹配在s和d字母之間有任意字元的字串所在行

grep ".*" hh.txt   匹配hh.txt所有內容

^  匹配行首            

$ 匹配行尾

例子:grep "^m" hh.txt   匹配以大寫m開頭的行

grep "n$" hh.txt   匹配以小寫n結尾的行

grep "^$" hh.txt   匹配空白行

匹配中括號裡指定的任意乙個字元,只匹配乙個字元

例子:grep "s[ao]id" hh.txt   匹配s和i字母中間,要不是a,要不是o的行。

grep "^[a-z]" hh.txt   匹配小寫字母開頭的行

[^]          匹配除括號裡的字元以外的任意乙個字元

例子:grep "^[^a-z]" hh.txt   匹配不以小寫字母開頭的行。

grep "^[^a-za-z]" hh.txt   匹配不以字母開頭的行,(小寫字母要在前面)。

\      轉義符

例子: grep "\.$" hh.txt   匹配以"."結尾的行。

\         匹配前面字元恰好出現n次

例子:grep "a\" hh.txt   匹配a字母連續出現三次的行。

grep "[0-9]\" hh.txt   匹配包含連續的三個數字的行。

\      匹配前面的字元出現不小於n次

例子:   grep "^[0-9]\" hh.txt   匹配最少連續的三個數字開頭的行。

\       匹配其前面的字元至少出現n次,最多出現m次。

例子:grep "s[ao]id" hh.txt   匹配s和i字母中間有最少乙個a,最多三個a。

shell 正規表示式基礎

1 常用的命令工具 grep egrep vim sed awk 2 基本的正則表達含義 d 匹配字母d 匹配任意單個字元 匹配乙個或多個 匹配任意多個字元 匹配字串的開頭 匹配字串的結尾 匹配集合中的任意單個字元 匹配否定,對括號中的集合取反 x y 匹配x到y連續的字串範圍 匹配轉義後的字串 匹...

Shell基礎之 正規表示式

普通字元 只是字面的意思 元字元 超過字面意思的意義 基本正規表示式元字元及其意義 0個或多個在 字元之前的那個普通字元 匹配任意字元 匹配行首 匹配行尾 匹配字元集合 轉義符 匹配前面字元出現n次 匹配前面字元至少出現n次 匹配前面字元出現n m次 hel o 可以匹配helll8o hello ...

Shell基礎 二 正規表示式

grepls usr bin grep zip cat text.txt grep hello ab10重要引數 i 匹配忽略大小寫 v 取反,即篩選不匹配 c 列印匹配的數量元字元 元字元使用時要用單引號括起來防止引數展開 任何字元 grep zip usr bin 代表任意字元,佔一位,所以 z...