#navi(../)
* sedコマンドで改行のみの行を削除する [#ee394ac1]
sedコマンドを利用し、改行のみの行を削除する方法を以下に記します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#kdcddc11]
-[[スペースのみの行および改行のみの行を削除する>逆引きUNIXコマンド/スペースのみの行および改行のみの行を削除する]]
-[[sedでディレクトリ文字列が格納されている変数を展開して置換する>逆引きUNIXコマンド/sedでディレクトリ文字列が格納されている変数を展開して置換する]]
-[[sedで指定した行を削除する方法>逆引きUNIXコマンド/sedで指定した行を削除する方法]]
-[[sedを使ってスペースの文字列操作を行う>逆引きUNIXコマンド/sedを使ってスペースの文字列操作を行う]]
-[[sedを使って改行のみ、スペースのみの行を削除する>逆引きUNIXコマンド/sedを使って改行のみ、スペースのみの行を削除する]]
-[[sedコマンドで大文字小文字を区別せずに置換する方法>逆引きUNIXコマンド/sedコマンドで大文字小文字を区別せずに置換する方法]]
-[[キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド>逆引きUNIXコマンド/キーワードからキーワードまでの文字列を抜き出す方法・sedコマンド]]
-[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]]
-[[改行のみの行を削除する>逆引きUNIXコマンド/改行のみの行を削除する]]
* sedコマンドの構文 [#ca3f369e]
sedコマンドを利用して改行のみの行を削除する時は以下の構文になります。
sed '/^$/d' 対象ファイル > 出力ファイル
または
cat 対象ファイル | sed '/^$/d' > 出力ファイル
実際に上記sedの構文を試した結果を以下に記します。
* sedコマンドで改行のみの行を削除してみる [#t511601a]
以下のファイルから改行のみの行を削除してみます。
$ cat -n sakura.txt
1 hokkaido
2 aomori
3
4 iwate
5 akita
6 yamagata
7
8
9
10 fukushima
11 miyagi
** 標準出力に結果を出力 [#w39c1483]
ファイルに出力せずに標準出力に表示したときの実行結果です。
$ sed '/^$/d' sakura.txt
hokkaido
aomori
iwate
akita
yamagata
fukushima
miyagi
** ファイルに出力してみる [#oad1695f]
catコマンドでファイルを出力しパイプでsedコマンドにテキストファイルの情報を渡しています。~
リダイレクトでsakura2.txtに改行のみの行を削除した結果を出力しています。
$ cat sakura.txt | sed '/^$/d' > sakura2.txt
$ cat sakura2.txt
hokkaido
aomori
iwate
akita
yamagata
fukushima
miyagi
以上、sedを使った改行のみの行の削除方法でした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)