Нет пробела между столбцами в выводе awk - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь распечатать 2 столбца с использованием awk. Мне нужно отделить их пробелом. В этом примере ниже значение первого столбца равно «1», а 2-го столбца - «1 [». Как видно на выходе, эти два значения объединены вместе. Я не могу напечатать пробел между ними. Флаг -vOFS, похоже, не помогает. Я также печатаю только последнюю строку вывода cmd в этом выражении awk.

Кроме того, я также хотел бы избавиться от '[' в выходных данных 2-го столбца ('1 ['). Так что осталось только с «1». Как именно я это делаю?

команда awk: Судо iblinkinfo | awk -vOFS = '' 'NR == 1; END {print $ 11 $ 12} '

awk'd Выходные данные, которые я получаю: CA: MT25408 ConnectX Mellanox Technologies: 11[

awk'd Вывод Я хочу: 1 1

Исходный вывод cmd: (последняя строка начинается с «CA: MT ...»). Хотя вывод первого столбца (с $ 1) - это шестнадцатеричное значение 0xe41d2d0300e29e01. Я хотел бы напечатать 11-й и 12-й столбцы; которые 1 1 [(к концу)

           1   34[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           1   35[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           1   36[  ] ==(                Down/ Polling)==>             [  ] "" ( )
CA: MT25408 ConnectX Mellanox Technologies:
      0xe41d2d0300e29e01      2    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       1    1[  ] "Infiniscale-IV Mellanox Technologies" ( )

1 Ответ

1 голос
/ 04 июня 2019

Это то, что вы пытаетесь сделать?

$ cat file
           1   34[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           1   35[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           1   36[  ] ==(                Down/ Polling)==>             [  ] "" ( )
CA: MT25408 ConnectX Mellanox Technologies:
      0xe41d2d0300e29e01      2    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       1    1[  ] "Infiniscale-IV Mellanox Technologies" ( )

$ awk 'END{print $11, $12+0}' file
1 1

Вышеприведенное опирается на неопределенное поведение, поскольку значения $ 0, $ 1 и т. Д. В разделе END не определены стандартом POSIX, но этоя буду работать в GNU awk, когда вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...