Как использовать l oop и если условие вывода команды - PullRequest
0 голосов
/ 29 апреля 2020

Я использую команду для получения желаемого результата

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

Теперь я хочу напечатать всю строку, если это значение идет от * От 1007 * до 1000. Как мне этого добиться?

1 Ответ

1 голос
/ 29 апреля 2020

Этот оператор awk должен делать то, что вы хотели:

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