1. ホーム
  2. text

[解決済み】grepで空白行を削除する。

2022-04-11 04:39:01

質問

試してみた grep -v '^$' を Linux で使用したところ、うまくいきませんでした。このファイルはWindowsのファイルシステムから来たものです。

解決方法は?

以下をお試しください。

grep -v -e '^$' foo.txt

-e オプションは、正規表現によるマッチングを可能にします。

をシングルクォートで囲むと ^$ はCshellで動作するようにします。他のシェルはシングルクォートでもダブルクォートでも大丈夫です。

UPDATE: この方法は、空行や空白のスペースがあるファイル(例えば、Windowsの行が \r\n 一方、上記は空白行とunixスタイルの改行があるファイルのみを削除します。

grep -v -e '^[[:space:]]*$' foo.txt