歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

shell正則表達式 使用詳解

debian:~/test# { a=1; b=2; }
debian:~/test# echo $a$b
12
debian:~/test# ( a=3 b=4 ) # a與b的值並未在當前shell有所改變
debian:~/test# echo $a$b
12
&& “與” 執行成功後即退出狀態為0,則繼續下一條命令
|| “或” 退出狀態不為0,也就是執行不成功,則繼續下一條命令
;; “非” 無論成功與否,都將繼續下一條命令
正則表達式:
\ 轉義 [[ \\ 匹配 \ ]]
^ 匹配開始位置 [[ ^a 匹配由a開頭 ]]
$ 匹配結束位置 [[ $a 匹配a結尾 ]]
* 匹配前面的子表達式0次或多次 [[ 最少0次,最多N次 ]]
+ 匹配前面子表達式1次或多次 [[ 最少1次,最多N次 ]]
? 匹配前面子表達式0次或1次 [[ 要麼有,要麼沒有 ]]
{n} 匹配前面子表達式的次數 [[ a{3} 匹配aaa ]]
{n,}匹配至少N次 [[ a{2,}匹配aa或aaa]] 匹配aa或aa…N 兩個a以上的都匹配
{n,m}精確匹配子表達式的次數 [[ a{1,2}匹配a與aa]]
. 匹配除了”\n”之外所有單個字符[[ 匹配換行為[.\n] ]]
a|b 匹配a或者b
debian:~/test# cat abc
abc
cba
debian:~/test# grep -E ‘(a|c)b(c|a)’ abc
abc
cba
[abc]匹配所設定的字符集
debian:~/test# cat abc
abc
cba
ABC
debian:~/test# grep -E ‘[abc]‘ abc
abc
cba
[^abc]不匹配所設定的字符集
debian:~/test# cat 123
abc
123
debian:~/test# grep -E ‘[^123]‘ 123
abc
[a-z] [A-Z] [0-9] = [[:alnum:]]

Copyright © Linux教程網 All Rights Reserved