我需要在shell中用换行符替换文字\ n

时间:2019-07-14 17:31:28

标签: shell replace newline

我们收到的文件实际上是ssh令牌密钥。

Foo\nBarFoo,\nFoo\nBarFoo

现在,我想用

替换它们
Foo
BarFoo,
Foo
BarFoo

我通过将整个键复制到变量中来尝试sedtr命令。 似乎有效的一件事是: %s/\\n/\r/g,但这是不能接受的,因为我无法打开vi编辑器。

我最近尝试了echo -e 'Foo\nBarFoo,\nFoo\nBarFoo,但希望变得更加微妙。

1 个答案:

答案 0 :(得分:2)

您正面临问题,因为您可能正在使用OSXBSD。使用GNU sed's/\\n/\n/g’应该可以工作。

对于POSIX sed,请使用它,

echo "Foo\nBarFoo,\nFoo\nBarFoo" | sed 's/\\n/\
/g'
相关问题