Krótsza forma już proponowanego odpowiedź może być następująca:
awk NF file
Wszelkie awk
skrypt następująco składnię condition {statement}
. Jeśli blok instrukcji nie jest obecny, awk
wydrukuje cały rekord (wiersz) w przypadku, gdy condition
nie jest zero.
NF
zmienna w awk
reprezentuje liczbę pól w linii. Jeśli linia nie jest pusta, NF
ma wartość dodatnią, która uruchamia domyślną akcję awk
(wydrukuj całą linię). W przypadku pustej linii NF
wynosi zero, a warunek nie jest spełniony, więc awk
nic nie robi.
lub
awk '!/^$/' file
^$
jest regex pustej linii. 2 /
jest potrzebny, aby umożliwić awk
zrozumienie, że ciąg jest wyrażeniem regularnym. !
to standardowa negacja.
'awk '/./' MyFile'? 'awk NF' http://www.unix.com/shell-programming-scripting/84923-remove-all-blank-lines-shell-awk.html http://www.tek-tips.com/viewthread.cfm ? qid = 1282604 – ant
Powiedziałbym, że nadszedł czas, aby zmienić zaakceptowaną odpowiedź, z tym wyjątkiem, że myślę, że odpowiedź @ oliv jest nawet lepsza niż ta z 25 przegranych, więc chcę dać jej czas na awans. – Noumenon