Как построчно разобрать dmesg в bash?

Ваш текущий подход верен, ясен и работает так, как рекламируется, нет никакой реальной необходимости его менять.

Однако, если вы хотите протестировать еще больше столбцов, скажем все столбцы после столбца 3, это может привести к несколько длинной awkпрограмме (, если столбцов много ).

Другой способ сделать это — использовать цикл:

$ awk -F '|' '{ for (i=4; i<=NF; ++i) if ($i == 0) next; print }' file
TEST|RALPH|JACKSON|2|3|1
TEST|DAVE|KNIGHT|1|3|1

Эта awkпрограмма проверяет значения всех столбцов после столбца 3 и пропускает текущую строку, как только обнаруживается столбец, значение которого равно нулю. Если ноль не найден, печатается текущая строка.

2
30.05.2020, 04:19
0 ответов

Теги

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