使用egrep示例累积正则表达式

时间:2014-06-13 20:52:29

标签: regex grep accumulo

问题:从一个特定源到我们的accumulo实例的数据没有通过我们的搜索接口的子集返回到我们的客户端应用程序。

当我们使用搜索方法" A"我们得到了结果,但是当我们使用搜索方法" B"我们不。

我预感到这种方法" A"和方法" B"实际上是在打不同的牌桌 为了证明这一点,我需要一种方法将钩子放入进入表的数据流中,并使用grep来指示消息来源的数据。我无法以编程方式执行任何操作,因为这样就必须将系统关闭,这不是现在的选择。

我从手册中看到有一个' grep'和' egrep'命令。 grep上的帮助文件说不要将它用于正则表达式,我似乎无法让egrep返回我知道在数据库中的记录。

示例:
交换中的记录包含行<gml:pos>23.05507 113.5268</gml:pos>。为了egrep它,我登录accumulo shell,选择记录所在的表,然后输入以下egrep ^:pos>23.*113.*

什么都没有回来 我已经尝试了我能想到的命令的所有变体(引用,不引用,仅搜索23. *等)。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:-1)

正则表达式中的前导^似乎将“:pos”锚定到行的开头。由于该行以“

$ echo '<gml:pos>23.05507 113.5268</gml:pos>' | egrep '^:pos>23.*113.*'
$ echo '<gml:pos>23.05507 113.5268</gml:pos>' | egrep ':pos>23.*113.*'
<gml:pos>23.05507 113.5268</gml:pos>