文本操作-元字符

##### 元字符 #####
. 匹配除换行符外的任意单个字符

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
#.

##### 扩展元字符 #####
• + 匹配前面的正则表达式至少出现一次

• ? 匹配前面的正则表达式出现零次或一次

• | 匹配它前面或后面的正则表达式

猜你喜欢

转载自www.cnblogs.com/wooluwalker/p/12643271.html