
awk 'NF' data.txt
たったこれだけのコードで、空白行混じりのテキストファイルから空白行を取り除くことができます。
なぜ awk 'NF' で空白行が削除されるか、そのからくりについては、昨日(2026年3月16日)付けの記事をご覧ください。
⇒ 「ごく短い空白行削除awkプログラム」
なお、
awk '$0' data.txt
としても同じような処理ができます。
ただ、awk '$0' data.txt 方式だと、改行コードだけ入力された空白行は削除されるけれども、スペース(空白)が入力された空白行は削除されません。スペース入力行は、$0が 空文字列("")ではないからです。
たいていの場合、スペースのみが入った行はデータがないのだから、改行コードのみの行と同じように削除対象としたいはずです。
そうならば、一般的には awk '$0' ではなく、awk 'NF'とするのがよいとなります。
それにしても、awk 'NF'とたったこれだけで、どんなに膨大な行数のテキストファイルであっても、すべての空白行が取り除かれるのだから、感心してしまいます。
それではまた次の記事で。
goosyun
