つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

空白行を取り除くawkプログラム

プログラミング中のワンころ

  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