【发布时间】:2017-12-06 00:11:52
【问题描述】:
您好,我在使用 egrep 命令时遇到了问题。这是我的问题: 假设我在这些词上运行了一个 for 循环:
99aa88bb99aa88bb 9a9a 11bb11bb 11bb11dd 12aa12aa
33aa33bb33aa33bb
如果单词有两个相同的数字和两个相同的字母并且该单词重复,我只想打印它。例如,在这种情况下,应该打印的唯一单词是:
99aa88bb99aa88bb
11bb11bb
33aa33bb33aa33bb
因为每个单词至少有一组或多组两个相同的数字和两个相同的字母,然后它会重复自己
这是另一个例子,我在循环中遍历这些单词:
aa99aa99 00aa00bb00aa00bb 44aa44aac
2222aaaa2222aaaa 11cc11cc11cc11cc
应该打印的唯一单词是
00aa00bb00aa00bb
11cc11cc11cc11cc
因为上面提到的。 我真的很难做到这一点我当前不起作用的命令是:
egrep "^((([0-9])\3([a-z])\4)(([0-9])\6([a-z])\7))\1*$" tmp
它不工作的原因是因为它会为我打印如下字样:
11bb11dd
这是不允许的。
任何帮助将不胜感激。
【问题讨论】:
-
称它们总是长度相等的单词公平吗?或者它们可以变化?
-
@Inian 是的,可以这么说