空白行削除

改行のみの空行と、空白文字列と改行のみで構成される空白行をまとめて削除する方法です。

 

  • コマンドラインで空白行削除(grep, sed, awk, perlワンライナー)
$ grep '\S' file.txt
$ sed '/^\s*$/d' file.txt
$ awk 'NF' file.txt
$ perl -pe 's{^\s*\n$}{}' file.txt
$ perl -ne 'print if /\S/' file.txt

文字列の存在しない空行だけを削除するには、grepコマンドが便利です。

$ grep . file.txt

 

  • vimエディタで空白行削除 (v is inverse)
:g!/\S/d
:v/\S/d

 

  • emacsエディタで空白行一括削除
M-x flush-lines RET ^\s-*$ RET

 

  • Excelで空白行削除
空白文字列のみのセルを、空白セルに置換(スペースなどの空白文字列を置換して削除)
空白行のある列を選択
ホーム -> 検索と選択 -> 条件を選択してジャンプ -> 空白セル
右クリック -> 削除 -> 行全体