Событие не найдено в расширении оболочки

Проблема в том, что иногда вывод вашей команды rancherимеет 5 полей на строку, а иногда 4.

Следующий вкладыш awk one -будет печатать правильное поле в зависимости от того, сколько полей (использует встроенная awk -переменнаяNF)в любой заданной строке ввода:

$ awk 'NF==5 {print $4}; NF==4 {print $3}' clusters.txt
NAME
test-cluster
prod-cluster
dev-cluster

В качестве альтернативы, если вы можете быть уверены, что пустых строк не будет, вы можете использовать:

$ awk '{print $(NF-1)}' clusters.txt 
NAME
test-cluster
prod-cluster
dev-cluster

Если есть пустая строка, вы получите сообщение об ошибке, подобное этому:

awk: cmd. line:1: (FILENAME=clusters.txt FNR=5) fatal: attempt to access field -1

Этого можно избежать с помощью:

awk 'NF>=1 {print $(NF-1)}' clusters.txt 
-1
30.08.2021, 13:10
0 ответов

Теги

Похожие вопросы