sedで改行文字を削除

表題の通り。いつも忘れるのでメモ。

■ 環境

  • sed
  • Linux
  • Mac OSX El Capitan

■ sed

何かしらのスクリプトで、ファイルから読み取って変数に入れて使用している時、たまに行末の改行文字が含まれたままのやつがあり、予期せぬ場所で改行がされてしまうことがある。

改行を削除すれば良いか、と下記のようにしてしまうのだが、これでは削除ができない。

sed -e 's/\r//'

下記のようにしなければならない。

sed -e 's/^M//'

この”^M“を入力するのが少々厄介で、単に文字列として”^M“を入れるでは思い通りに動かない。

control + V
control + M

上記のように入力すると良い。

以上。