linux 中grep命令提取指定范围个数的连续字符的行

 

1、

root@PC1:/home/test# ls
a.txt
root@PC1:/home/test# cat a.txt
i aaaadff
f aaewrg
k aaarbcd
j aaaaavvvv
i aaaaaaaaere
root@PC1:/home/test# grep -E "a{3}" a.txt      ## 提取至少包含三个a的行
i aaaadff
k aaarbcd
j aaaaavvvv
i aaaaaaaaere
root@PC1:/home/test# grep -E "a{5}" a.txt      ## 提取至少包含五个a的行
j aaaaavvvv
i aaaaaaaaere

 

 

 

2、

root@PC1:/home/test# ls
a.txt
root@PC1:/home/test# cat a.txt
i aaaadff
f aaewrg
k aaarbcd
j aaaaavvvv
i aaaaaaaaere
root@PC1:/home/test# grep -E "[^a]a{3,5}[^a]" a.txt     ## 提取3~5个a的行
i aaaadff
k aaarbcd
j aaaaavvvv
root@PC1:/home/test# grep -E "[^a]a{3,6}[^a]" a.txt      ## 提取3~6个a的行
i aaaadff
k aaarbcd
j aaaaavvvv
root@PC1:/home/test# grep -E "[^a]a{3,10}[^a]" a.txt      ## 提取3~10个a的行
i aaaadff
k aaarbcd
j aaaaavvvv
i aaaaaaaaere

 

posted @ 2022-05-09 23:13  小鲨鱼2018  阅读(614)  评论(0编辑  收藏  举报