web-dev-qa-db-ja.com

テキストファイルから空白行を削除する

テキストファイルの空白行をすべて削除しようとしています。これを行う簡単な方法はありますか?

私が持っているもの

line one

line two

私が欲しいもの

line one
line two

私はNotepad ++を使用しているので、Notepad ++を使用したソリューションを歓迎します。

Cygwin もあるので、他に何もない場合は、スクリプトで問題ありません。

5
Kapsh

メニューを使用します:

1)すべてのテキストを選択します(Ctrl-A)

2)TextFX-> TextFX編集->空白行の削除

18
Craig Treptow

マクロは恐ろしく、オフラインの場合、最初の文字が誤って失われる可能性があります。

  • 表示>記号を表示>行末を表示

CR LF(これは\ r\nであるキャリッジリターンとラインフィードです)Ctrl + Hで終わることに注意してください。次に、拡張置換 "\ r\n\r\n"を有効にします。 "\ r\n"

循環してダブルスペースを削除します。ダブルスペース以上の場合は、繰り返す必要がある場合があります。 (考慮すべきもう1つのことは、[編集]> [末尾の空白を削除]です。)

3
greyDrifter

[置換]ダイアログで拡張検索モードに切り替えます。

何を見つける:\r\n\r\n

次のように置き換えます:\r\n

[すべて置換]を押します。空白行はすべてなくなりました。

2
djhowell

Cygwinの場合:

$ sed -i '/^$/d' <name_of_your_textfile.txt>

または、「空白行」にタブとスペースを含めることが許可されている場合:

$ sed -i '/^[ \t]*$/d' <name_of_your_textfile.txt>

-iは「その場で編集」を表すため、テキストファイルが貴重な場合は、-iなしでコマンドを使用し、出力を別のファイルにパイプして、結果を確認してから、名前を変更します。

Vim の使用(Cygwinに付属しているはずですが、ネイティブのWindowsバージョンもあります):

:%g/^[ \t]*$/d

これには、結果を直接表示し、「u」を押すことで結果を元に戻すことができるという利点があります。また、Windowsの行末に関する問題が少なくなる可能性があります(Cygwinの構成によって異なります)。

1
0x89