yy23i3
0 9Thi.s is.ttx xyttt 你好ttx the second line
8yy xu89t
4512z1
grep -n [A-Za-z][A-Za-z]* f2 后,没有结果。这是怎么回事?
grep -n ^[A-Za-z][A-Za-z]* f2 后的,结果为:
1:yy23i3
为什么前者没有执行结果,后者有呢?
3 个解决方案
#1
我猜可能是*的原因,shell会默认把*当做通配符吧。
grep -n ‘[A-Za-z][A-Za-z]*’ f2
就可以了.
grep -n ‘[A-Za-z][A-Za-z]*’ f2
就可以了.
#2
grep -n "^[A-Za-z][A-Za-z]*" f2
正则匹配的字符串用双引号引用,表示引号内的是要搜索的字符串,以免*对文件名进行通配,和避免单引号对正则语义的扩展
正则匹配的字符串用双引号引用,表示引号内的是要搜索的字符串,以免*对文件名进行通配,和避免单引号对正则语义的扩展
#1
我猜可能是*的原因,shell会默认把*当做通配符吧。
grep -n ‘[A-Za-z][A-Za-z]*’ f2
就可以了.
grep -n ‘[A-Za-z][A-Za-z]*’ f2
就可以了.
#2
grep -n "^[A-Za-z][A-Za-z]*" f2
正则匹配的字符串用双引号引用,表示引号内的是要搜索的字符串,以免*对文件名进行通配,和避免单引号对正则语义的扩展
正则匹配的字符串用双引号引用,表示引号内的是要搜索的字符串,以免*对文件名进行通配,和避免单引号对正则语义的扩展