ふと気になったので調べてみた。
どうやら、以下のようにsedを実行すればいけるようだ。

bash
sed '${/^$/d;}' ファイルPATH
shell
blacknon@BS-PUB-UBUNTU-01:~$ cat /tmp/test123 1111 222 3333 33333 blacknon@BS-PUB-UBUNTU-01:~$ cat -ET /tmp/test123 $ 1111$ 222$ $ $ 3333$ $ 33333$ $ blacknon@BS-PUB-UBUNTU-01:~$ sed '${/^$/d;}' /tmp/test123 1111 222 3333 33333

空行でない場合は削除されないことも確認できている。

shell
blacknon@BS-PUB-UBUNTU-01:~$ cat /tmp/test456 1111 2222 33333 55555 blacknon@BS-PUB-UBUNTU-01:~$ sed '${/^$/d;}' /tmp/test456 1111 2222 33333 55555

sedって、こんな指定の仕方もできるのだなぁ…
どっかで見たことあったのかもしれないけど、あまり理解が及んでいなかったようだ。

その他、以下のようにコマンドを実行して対応することもできるようだ。

bash
sed -z 's/\n$//' ファイルPATH
shell
[centos@test-centos7 ~]$ cat /tmp/test123.txt 1111 2222 3333 4444 5555 [centos@test-centos7 ~]$ sed -z 's/\n$//' /tmp/test123.txt 1111 2222 3333 4444 5555