在gfsh命令中将行修剪为..

时间:2019-01-10 12:43:17

标签: grep gemfire geode gfsh

我正在Unix框中运行以下命令,它是gfsh命令:

$GEMFIRE_HOME/bin/gfsh -e "connect --locator=$HOST[22710]" -e "list members" | grep "coordinator"

但是要注意的是,如果返回的成员包含100个以上的字符,则它们的输出为..,如下所示:

locator:103268:locator)<ec><v87><coordinato..

因此grep失败。我们知道可以更改grep模式,但是我们只想grep特定的协调器。 为什么将输出行调整为..

我搜索了下面的文档。

https://gemfire.docs.pivotal.io/91/geode/tools_modules/gfsh/configuring_gfsh.html

  

gfsh命令(例如query)产生的输出带有宽列,这些列可能   变得不对齐,需要手动重新格式化以查看输出。   如果输出不能满足终端的可用宽度,请使用gfsh   自动修剪列的宽度以适合。您可以禁用此   通过将gfsh环境变量GFSH.TRIMSCRWIDTH设置为   false

有什么建议吗?

我试图通过awk '|'来获得唯一的第二种模式,但是协调员仍然是协调员。
也尝试过cut,没有用。

$GEMFIRE_HOME/bin/gfsh -e "connect --locator=$HOST[22710]" -e "list members" | awk -F'|' '{print $2}'

103268:locator)<ec><v87><coordinato..
$GEMFIRE_HOME/bin/gfsh -e "connect --locator=$HOST[22710]" -e "list members" | awk -F'|' '{print $2}'

应该能够grep“协调器” gfsh的输出,并且输出中的行中不应包含..

1 个答案:

答案 0 :(得分:0)

如果将以下内容添加到gfsh命令,则应看到完整的输出:

-e "set variable --name=APP_RESULT_VIEWER --value=x"

这是一种解决方法-值x是任意的,这只是避免了您看到的默认行为。