Ubuntuでsedで改行を置換するコマンド

こんにちは、minoruです。

sedコマンドで置換するのは慣れれば便利だし、難しくも無いのですが、改行の取り扱いに関してはややこしい。結局ubuntuのデフォルトの環境では以下で成功。

sed -e ':loop; N; $!b loop; s/\n/置換する文字/g'

ちなみにコマンドを途中で改行して…という手法もあるようですが、私の環境では上手くいきませんでした。

通常の文字を改行に置換する場合は…

's/hoge/\n/g'

で置換できました。

補足

上記のようなコマンドにしなくても、改行を削除するだけであれば…

cat ファイル名 | tr -d '\n'

このようにtrコマンドでもいけるけど、Ubuntu上で普通に作成されたテキストファイルなら問題無いが、Window上で作成されたものだと改行コードが異なったりして、上手くいかない事もあるので注意が必要。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする