存在一个userinfo.txt文件, cat userinfo.txt 打开文件后内容如下:
1
axa
2 axxa
3 axxxa
4 axxxxa
5 axxxxxa
6 axxxxxxa
7 axxxxxxxa
8 axxxxxxxxa
9 axxxxxxxxxa
2 axxa
3 axxxa
4 axxxxa
5 axxxxxa
6 axxxxxxa
7 axxxxxxxa
8 axxxxxxxxa
9 axxxxxxxxxa
x\{n\} ----x字符只 出现n次
x\{n,\} ----x字符至少出现n次
x\{n,m\} ----x字符出现n-m次(n<=m)
但是通过实践发现:
情况1:grep 'x\{7\}' userinfo.txt 会返回 7,8,9 这3行; 但是理论应该 只返回第7行;
7 axxxxxxxa8 axxxxxxxxa
9 axxxxxxxxxa
情况2:grep 'x\{7,\}' userinfo.txt 会返回 7,8,9 这3行,和理论相同;
7 axxxxxxxa
8 axxxxxxxxa
9 axxxxxxxxxa
情况3:grep 'x\{7,8\}' userinfo.txt 会返回 7,8,9 这3行,但是理论应该 只返回第7,8 这2行;
7 axxxxxxxa
8 axxxxxxxxa
9 axxxxxxxxxa
-----针对上述情况1 和 情况3 与理论不同的地方,可以用如下命令实现:
情况1 的正确命令 grep '[^x]x\{7\}[^x]' userinfo.txt
7 axxxxxxxa
情况3 的正确命令 grep '[^x]x\{7,8\}[^x]' userinfo.txt
7 axxxxxxxa
8 axxxxxxxxa
-------完毕,欢迎大伙来拍砖,一起交流。