shell中的萬用字元&&正則表示式
阿新 • • 發佈:2018-12-10
萬用字元與正則表示式式的區別:
萬用字元:shell命令列或者shell指令碼中,在shell命令中匹配檔名
正則表示式:在檔案中匹配字串
ls find cp 不支援 正則表示式(和檔名相關);grep awk sed支援正則表示式(和文字中的字串相關)
-----------------------------------------------------------------------------------------------------------------
萬用字元
* 匹配0到多個任意字元
?匹配任意單個字元
[]匹配括號內的一個字元
[!]匹配不在括號內的一個字元
----------------------------------------------------------------------------
正則表示式
shell中的正則表示式需要用單引號或雙引號引起來
.表示任意單個字元
[0-9]表示一個數字
[a-zA-Z]表示一個字母
特殊符號(除字母數字外)需要用\來轉義,比如\. \- \+ \*等
*表示匹配前面那個單字元0次或多次
?匹配前面那個單字元0次或1次
+匹配前面那個單字元至少1次(在擴充套件正則表示式中)
^匹配行首
$匹配行尾
[^]匹配不在括號內的一個字元
{n,m}匹配前面的字元至少n次最多m次(n,m至少需要有一個{n},{n,},{n,m},{,m})