【问题标题】:How to use loop and if condition of output of command如何使用循环和命令输出的if条件
【发布时间】:2020-04-29 15:57:19
【问题描述】:

我使用命令来获得所需的输出

geek@geek:~/test$   ./mycommand --server 192.168.0.1:8080 --describe --group mygroup

TOPIC              PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID                                    HOST            CLIENT-ID
my-group            7          812             812             0               asdfghjk-1234faf5-5678-4a6f-8f09-bfa363f49984 /192.168.0.11   asdfghjk
my-group            6          719             719             0               asdfghjk-1234faf5-5678-4a6f-8f09-bfa363f49984 /192.168.0.11   asdfghjk
my-group            2          785             785             0               asdfghjk-1234faf5-5678-4a6f-8f09-bfa363f49984 /192.168.0.11   asdfghjk
my-group            0          752             752             0               asdfghjk-1234faf5-5678-4a6f-8f09-bfa363f49984 /192.168.0.11   asdfghjk

我正在使用 awk 对其进行排序,如下所示

geek@geek:~/test$   ./mycommand --server 192.168.0.1:8080 --describe --group mygroup|  awk '{print $5}'
LAG
0
0
0
0

现在,如果该值从 0 超出 1000,我想打印整行。 如何实现?

【问题讨论】:

  • 感谢您以代码的形式展示您的努力。您能否详细解释一下您的预期输出,并在您的问题中解释如何获得它的逻辑。
  • 当前值显示0。我想得到超过1000的整行

标签: python bash shell


【解决方案1】:

这个 awk 语句应该做你想做的事:

awk '{if ( ($5 ~ /^[0-9]+$/) && $5 > 1000) { print } else { print $5 } }'

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多