【发布时间】:2019-01-10 12:43:16
【问题描述】:
我在 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 "coordinator" gfsh 的输出,并且输出的行中不应有 ..。
【问题讨论】: