Обрезать ведущие пробелы с помощью команды awk - PullRequest
0 голосов
/ 15 октября 2018

Я видел другие примеры и посты, но просто не могу заставить это работать.У меня есть вывод lparstat, который выглядит следующим образом:

Partition  Number                           :  1
Type                                       :  Dedicated-SMT
Mode                                       : Capped
Entitled  Capacity                          : 4,00
Partition  Group-ID                         : 32769
Shared Pool  ID                             : -

Я хотел бы получить значение Capped.

У меня есть следующая команда, однако необходимо удалить ведущий пробел:

cat lparstat.out | egrep '^Mode' | awk -F: '{ print $2 }'

Любое предложение о том, как изменить команду awk, приветствуется.Я не хочу трубить к седлу.

Ответы [ 3 ]

0 голосов
/ 15 октября 2018
awk -F '  *: ' '$1=="Mode"{print $2}' lparstat.out

или с регулярным выражением:

awk -F ': ' '/^Mode/{print $2}' lparstat.out

Вывод:

Capped
0 голосов
/ 15 октября 2018

Можете ли вы попробовать это:

awk -F ":" '/^Mode/ {gsub(/ /,"");print $2}' lparstat.out

Вывод:

Capped
0 голосов
/ 15 октября 2018

Я проверил это, и оно работает:

cat lparstat.out | egrep '^Mode' | awk -F':[[:blank:]]*' '{ print $2 }'

Это меняет разделитель полей на :, за которым следуют ноль или более пробелов или символов табуляции.

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