読者です 読者をやめる 読者になる 読者になる

ちぎっては投げるブログ

Programming, Android, RaspberryPi, Digital Devices, Kinkuma Hamster...

awkで空行を無視する

Programming shell

awkでテキストを処理するとき、空行があるとおかしなことになりがちなので、中身がある行のみを対象にしたいときがあります。

awk '/./{print $0}'

awkは{}の前に、処理を行うかどうかの条件を記述します。 ここに、正規表現で任意の1文字と一致すると記述しておくことで、空行の場合は何もないので一致せずにprintされず、何かしら文字があれば一致するのでprintされます。 正規表現で任意の一文字を示すのはドット"."なので、これで空行を無視できます。

ところで、改行文字はひっかからないんですね。