1

问题如下:我有一个名为 Brain.txt 的文档,其中包含如下字符:

++++++++++[>++++++++>++++++>+<<<-]>+++.>+++++.<-.+.>>. word

最后word的真的可以是任何词。如何从文档中过滤每 7 个字符为加号的行?例子:+......+......+......+..... word

我写了以下命令:

egrep '^\+(.{6}\+)+.{,6}\s' brain.txt

但它似乎不起作用,谁能解释一下这个命令有什么不正确的地方吗?

4

1 回答 1

1

问题是速记符号{,6}似乎不适用于给定的正则表达式风格。简单地写出来:

egrep '^\+(.{6}\+)+.{0,6}\s' brain.txt

请注意,这至少需要 2 +秒。\+开头的单个,子模式中的另一个(因为它至少重复一次)。如果+.... word对您来说是有效的行,请使用:

egrep '^\+(.{6}\+)*.{0,6}\s' brain.txt
于 2012-11-01T00:28:02.553 回答