awk для печати в выражении, возвращающем значение 0
Команда, я пытаюсь напечатать сообщение, основанное на возвращаемом значении (0 или не 0)
Если return не равен 0, мое выражение ниже удерживается хорошо. Но когда return равен 0, я не получаю распечатки. Любой совет, как справиться с этим?
$ ▶ echo $NON_ZERO_MATCH
team.com/gpu\s\+\([1-9][0-9]*\)\s\+[1-9][0-9]*
$ ▶ kubectl describe node 123 | sed -n 's%'"$NON_ZERO_MATCH"'%\1%p' | awk '$0 > 0 {print "team User pods Found and gpus used are:", $0;} $0 = 0 {print "team Users pods NotFound and gpus used are:", $0;}'
team Users pods in execution and gpus used are: 8
$ ▶ kubectl describe node 321 | sed -n 's%'"$NON_ZERO_MATCH"'%\1%p' | awk '$0 < 1 {print "team User pods Found and gpus used are:", $0;} $0 = 0 {print "team Users pods NotFound and gpus used are:", $0;}'
<< get no output
Output:
Expected: "team User pods NotFound and gpus used are:0"
Actual: [nothing]
Весь вывод для описания узла находится здесь https://github.com/ctxrag/dev/blob/stack-overflow-pull-pod-info/kubectl_node_describe.yaml
$ ▶ uname -a
Linux dtlu16 4.15.0-88-generic #88~16.04.1-Ubuntu SMP Wed Feb 12 04:19:15 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
dtlu @ dtlu16 ~/code/team/ai-infra (test-bala)
└─ $ ▶ sed --version | grep 4.2
sed (GNU sed) 4.2.2
Пример вывода: моя команда должна смотреть только в левую позицию десятичный и выведите, что для ниже он должен вывести 8 и игнорировать 0 справа.
team.com/gpu 8 0
выходные данные: команда Найдены пользовательские модули и использованы gpus: 8