Что именно меняет «sudo hostnamectl set -hostname NEW _HOSTNAME»?

awk разбивает строки на основе разделителя (по умолчанию используется один или несколько пробелов, то есть табуляция или пробелы ). Чтобы было понятнее, вот ваши данные с данными, разделенными|

CURRENT|ID|STATE|NAME|PROVIDER
*|abcd|active|test-cluster|Imported
efgh|active|prod-cluster|Imported
xyzd|active|dev-cluster|Imported

Как вы можете видеть выше, в первой строке $1— это CURRENT, $2— это IDи так далее. Во второй строке $1— это *, $2— это abcdи т. д. Однако в третьей строке $1— это efgh, что соответствует столбцу ID. Поскольку в столбце ТЕКУЩИЙ нет ничего, кроме пробела, он игнорируется awk, и поэтому $3показывает ИМЯ для строк 3 и 4.

Что вам нужно сделать, так это удалить первый столбец, прежде чем отправлять его в awk. Следующая команда должна сделать это за вас.

rancher clusters | cut -b 8- | awk '{ print $3 }'

Команда cutв приведенном выше конвейере удалит первые 7 байтов в каждой строке и напечатает остальные в STDOUT.Это приведет к тому, что awkне будет путаться из-за разного количества столбцов в каждой строке.

0
29.08.2021, 16:17
0 ответов

Теги

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