シェルで \n を \\n に置き換えます。

シェルで \n を \\n に置き換えます。

次のように文字列を変換する方法を探しています。

foo\nbar

入力する:

foo\\nbar

これまでに見たことは、tr文字としてのみ機能しているため、これを行うことができず、他の動作する解決策が見つからないということです。

例:

redgl0w@anarchy ~> cat test
foo
bar

私は以下を得ることを願っています:

redgl0w@anarchy ~> echo test
foo\nbar

ベストアンサー1

バッシュ使用:

$ cat test
foo
bar
baz

$ content=$(<test)

$ joined=${content//$'\n'/\\n}

$ echo "$joined"
foo\nbar\nbaz

おすすめ記事