Невозможно получить данные n-го столбца из-за изменения вывода команды uptime

Возможно, я неправильно понял проблему, но, похоже, это работает:

grep -v '+.' file

Выход:

ICR1 +
IRT1 +
LSR1 -
NME1 +
PWR1 -
Q0017 -
Q0020 -
0
17.02.2021, 06:47
1 ответ

Чтобы всегда получать третий последний столбец, все, что вам нужно сделать, это считать в обратном направлении от конца строки, а не вперед от ее начала:

awk '{print $(NF-2)+0}'

Например:

$ echo '8:30pm  up 23 day(s), 17:46,  5 users,  load average: 2.79, 1.79, 1.53' | awk '{print $(NF-2)+0}'
2.79

$ echo '8:44pm  up 23 day(s), 18 hr(s),  5 users,  load average: 1.08, 1.12, 1.22' | awk '{print $(NF-2)+0}'
1.08
0
18.03.2021, 22:30

Теги

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