SHELL正则表达式只某个字符连续出现的次数

来源:互联网 发布:凯撒和众信 知乎 编辑:程序博客网 时间:2024/06/04 08:47

存在一个文件user.txt,内容如下:

     1 fafdasfdasfd
     2 fdasfdasfdsaf
     3 aooooob5
     4 aooooooob7
     5 aoooooooob8
     6 aooooooooob9
     7 aoooooooooob10
     8 aooooooooooob11
     9 aooo1oooob

字符的重复出现次数:
x\{n\}     ----x字符出现n次
x\{n,\}    ----x字符至少出现n次
x\{n,m\}   ----x字符出现n-m次(n<=m)

但是通过实践,grep 'o\{7\}' user.txt 会返回 4,5,6,7,8 这几行;
grep 'o\{7,9\}' user.txt 会返回 4,5,6,7,8 这几行;

如何才能返回只包含n个连续的x呢?
正确的表达式应为:grep '[^x]x\{n\}[^x]' user.txt
例如: grep '[^o]o\{7\}[^o]' user.txt

如何才能返回只包含n-m个连续的x呢?
正确的表达式应为:grep '[^x]x\{n,m\}[^x]' user.txt
例如: grep '[^o]o\{7,9\}[^o]' user.txt



-------完毕,欢迎大伙来拍砖,一起交流。
0 0
原创粉丝点击