Возможно, я неправильно понял проблему, но, похоже, это работает:
grep -v '+.' file
Выход:
ICR1 +
IRT1 +
LSR1 -
NME1 +
PWR1 -
Q0017 -
Q0020 -
Чтобы всегда получать третий последний столбец, все, что вам нужно сделать, это считать в обратном направлении от конца строки, а не вперед от ее начала:
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