我看到了这一点:How can I replace a newline (\n) using sed?,并且我想我会尝试使用tr
将换行符替换为',
。
该文件如下所示:
something
newline
newline again
我希望它看起来像这样:
something',
newline',
newline again',
所以,我试过这些:
tr "\n" "'," < myfileabove
tr "\n" "\'," < myfileabove
他们都没有做我想做的事......我做错了什么?
答案 0 :(得分:5)
tr
将一个字符转换为另一个字符,它不会映射到字符串/从字符串映射,因此它不能将换行符映射到字符串。尝试使用sed
来做这件事会让你无法理解和/或不便携。只需使用awk
:
awk -v ORS="'," '1' file
继续 - 您发布的示例并未显示您使用',
替换换行符:
$ awk -v ORS="'," '1' file
something',newline',newline again',$
它显示您在每行的末尾附加',
,这是完全不同的事情。您仍然无法使用tr
执行此操作,但您可以使用sed
或awk
执行此操作:
$ sed 's/$/'\'',/' file
something',
newline',
newline again',
$ awk -v ORS="',\n" '1' file
something',
newline',
newline again',