shell中的通配符(元字符),表示不是本意,由shell来解析
常用的元字符有:
* 匹配任意多个字符
? 匹配任意一个字符
[] 匹配括号中任意一个字符
\ 转义符,让元字符回归本意
{} 集合 touch file{1..5} mkdir -p /home/{333/{a,b},444}
() 在子shell中执行,不影响当前shell,(umask 077;touch file01)
正则表达式元字符 由各种执行模式匹配操作的程序来解析,比如vi、grep、sed、awk,在大多数程序中,正则表达式都被置于两个正斜杠之间。它将匹配被查找到行中任何位置出现的相同模式,在正则表达式中,元字符式最重要的概念。
vim示例:
cat a.txt
tom anatomy tomatos tomorrow
:1,$ s/tom/David/g #如tom、anatomy、tomatos、tomorrow中的“tom”都被替换了,而Tom却没有替换
:1,$ s/\<[Tt]om\>/David/g #<>表示匹配一个单词,单词前后可以有符号,但是不能出现任何单词,只有tom被替换,其余都未替换。