linux 中 grep命令精确限制匹配的次数

 

001、限定匹配a3次

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt     ## 测试数据
1 takkkkkk
2 taakkkkk
3 taaakkkk
4 33333333
5 taaaakkk
6 taaaaakk
7 taaaaaak
8 5aaaaaaa
root@DESKTOP-IDT9S0E:/home/test# grep -E "a{3}" a.txt
3 taaakkkk
5 taaaakkk
6 taaaaakk
7 taaaaaak
8 5aaaaaaa
root@DESKTOP-IDT9S0E:/home/test# grep -E "[^a]a{3}[^a]" a.txt   ## 只匹配a3次
3 taaakkkk

 

002、匹配a最多3次(实际就是1次到3次)

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
1 takkkkkk
2 taakkkkk
3 taaakkkk
4 33333333
5 taaaakkk
6 taaaaakk
7 taaaaaak
8 5aaaaaaa
root@DESKTOP-IDT9S0E:/home/test# grep -E "[^a]a{1,3}[^a]" a.txt   ## 匹配a最多3次
1 takkkkkk
2 taakkkkk
3 taaakkkk

 

003、匹配a最少3次

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt             ## 测试数据
1 takkkkkk
2 taakkkkk
3 taaakkkk
4 33333333
5 taaaakkk
6 taaaaakk
7 taaaaaak
8 5aaaaaaa
root@DESKTOP-IDT9S0E:/home/test# grep -E "a{3}" a.txt    ## 匹配a最少3次
3 taaakkkk
5 taaaakkk
6 taaaaakk
7 taaaaaak
8 5aaaaaaa

 

004、匹配a3到5次

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
1 takkkkkk
2 taakkkkk
3 taaakkkk
4 33333333
5 taaaakkk
6 taaaaakk
7 taaaaaak
8 5aaaaaaa
root@DESKTOP-IDT9S0E:/home/test# grep -E "[^a]a{3,5}[^a]" a.txt   ##匹配a3到5次
3 taaakkkk
5 taaaakkk
6 taaaaakk

 

posted @ 2023-05-11 10:15  小鲨鱼2018  阅读(303)  评论(0编辑  收藏  举报