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