Более короткая форма уже предлагаемого ответа может быть следующей:
awk NF file
Любой awk script следует синтаксису condition {statement}. Если блок оператора отсутствует, awk будет печатать всю запись (строку), если condition не равен нулю.
NF variable in awk представляет количество полей в строке. Поэтому, когда строка не пуста, NF удерживает положительное значение, которое запускает действие по умолчанию awk (печатает всю строку). В случае пустой строки NF равен нулю, и условие не выполняется, поэтому awk ничего не делает.
или
awk '!/^$/' file
^$ является регулярным выражением для пустой строки. 2 / необходим, чтобы awk понять, что строка является регулярным выражением. ! является стандартным отрицанием.
Ответ 4
если вы хотите игнорировать все пустые строки, поместите это в начало script