##### 元字符 #####
. 匹配除换行符外的任意单个字符
grep 按照行查找内容,找到的话,显示整行的内容
grep password
grep pass.... #查找以pass为开头,后面跟着4个任意字符的整行内容
grep pass....$ #查找以pass为开头,后面跟着4个任意字符且只有4个字符的整行内容
通配符 * 可以单用,表示任意一个字符
元字符 * 需要和前面的字符一起使用,表示任意一个跟在他前面的字符
pass* 匹配的是pas或pass或passs......
### 在zsh下无法匹配
grep pass* ./test_grep
zsh: no matches found: pass*
### bash下可以匹配
(base) [@wooluwalkerdeMacBook-Pro:tmp]$ grep pass* ./test_grep
pas
pass
passs
passss
passssssss
# [ ] 匹配方括号中的字符类中的任意一个
(base) [@wooluwalkerdeMacBook-Pro:tmp]$ grep [Hh]ello ./test_grep
Hello
hello
# ^ 匹配开头 (托字符)
# 匹配以#开头的行
(base) [@wooluwalkerdeMacBook-Pro:tmp]$ grep ^# test_grep
#Hello
#test
##why you love me ?
# \ 转义后面的特殊字符
# 因为shell本身对.做了处理,在匹配.的时候需要加上“”
(base) [@wooluwalkerdeMacBook-Pro:tmp]$ grep ‘\.‘ test_grep
test.why.what
#.
##### 扩展元字符 #####
• + 匹配前面的正则表达式至少出现一次
• ? 匹配前面的正则表达式出现零次或一次
• | 匹配它前面或后面的正则表达式
原文:https://www.cnblogs.com/wooluwalker/p/12643271.html