bash: в этой оболочке нет управления заданиями

Эти строки печатаются, потому что {print w;w=""} происходит каждый раз, даже если в w ничего нет. Если вы хотите печатать только непустые строки, вам придется поставить действие {print...} в зависимость от наличия в w некоторого содержимого.

Удобно, что awk считает пустую строку false, а все непустые строки - true ( "True and False in awk"). Поэтому вы можете получить то, что вам нужно, добавив w в качестве шаблона:

awk -F'=' '/[[:blank:]]k/{w=w""$2}; w { print w;w=""}'

8
24.12.2015, 00:01
0 ответов

Теги

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