Как получить значение столбца на основе значения соседнего столбца в Linux? - PullRequest
0 голосов
/ 15 мая 2019

Я хочу получить значение столбца на основе значения следующего столбца. Я подбираю столбец, имеющий значение host, и хочу напечатать предыдущее значение столбца

, попытался использовать grep -Po ".* (?=host)", но не смогполучить правильный вывод

файл test.log содержит приведенные ниже примеры данных (все в одной строке)

test Plus 193310 68FAD575EC59C2C6 exa4dbadm03  host                     

cat test.log|grep -i 193310|grep -i host|grep -Po ".* (?=host)"

Я пытаюсь выполнить поиск в столбце, который имеет значение в качестве хоста, и напечатать предыдущее значение столбца.В этом случае я хочу получить exa4dbadm03 в качестве вывода

ожидаемый результат: exa4dbadm03

1 Ответ

2 голосов
/ 15 мая 2019

Почему бы вам не использовать для этого? Например:

awk '{for(i=2;i<=NF;++i){if($i=="host"){print $(i-1);break}}}' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...