grep和regex:以未知组合打印包含N次字符的行
我有一个包含如下字符串的文件grep和regex:以未知组合打印包含N次字符的行,regex,grep,Regex,Grep,我有一个包含如下字符串的文件 xxxbbxxxbxbx xxxbxxxxbxxx xxbxxxbxxbxx bbbbxxxxxxxx bxxxxxxxxxxx xxxxbxxxxxxx xxxxbbxxbbxx xxxxbbbbxxxx xxxxbbbbbxxx 实际上,文件x实际上是各种无趣的字母字符。我想使用grep打印出b正好出现四次的所有行 如果我使用grep-e“[^b]b[^b]\{0,4}b[^b]\{0,4}b[^b]\{0,4}b[^b]\{1,4}”test.txt它将排除
xxxbbxxxbxbx
xxxbxxxxbxxx
xxbxxxbxxbxx
bbbbxxxxxxxx
bxxxxxxxxxxx
xxxxbxxxxxxx
xxxxbbxxbbxx
xxxxbbbbxxxx
xxxxbbbbbxxx
实际上,文件x
实际上是各种无趣的字母字符。我想使用grep打印出b
正好出现四次的所有行
如果我使用grep-e“[^b]b[^b]\{0,4}b[^b]\{0,4}b[^b]\{0,4}b[^b]\{1,4}”test.txt
它将排除最后一行(我想要的),但也排除以b
开头的第4行(我不想要的)
如果我使用grep-e“b[^b]{0,4}b[^b]{0,4}b[^b]{0,4}b[^b]{1,4}”test.txt
,它会捕捉第4行(我想要),但也会捕捉最后一行(我不想要)。你可以尝试([^b]*b){4}[^b]*
^(?:[^b]*b){4}[^b]*$
与grep-p
和锚定一起使用。请参阅演示
添加解释,以便人们可以从您的答案中学习。