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上で作成されたものだと改行コードが異なったりして、上手くいかない事もあるので注意が必要。

LinuxやUbuntuをこれから試してみたい!と言う人や、今までWindowsで使っていたPCをWindowsは残したままLinuxやUbuntuを活用してみたい人は以下の本がおすすめ!
https://amzn.to/3Vl1oNx

LinuxやUbuntuを使おうとして、初心者の人が最初に「?」となりやすいのがコマンドでしょう。使い方がわかればこれほど簡単で便利なものはありませんが、最初は戸惑うのが普通です。そんな初心者に向けてマンガで超わかりやすいコマンドについて学べるのはシス管系女子みんとちゃんの本!
https://amzn.to/3FMTx5v

シェアする

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

フォローする