我看到了这一点:如何使用sed替换换行符(\ n)?,并认为我会尝试用tr替换换行符',。
该文件如下所示:
something
newline
newline again
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
something',
newline',
newline again',
Run Code Online (Sandbox Code Playgroud)
所以,我尝试了这些:
tr "\n" "'," < myfileabove
tr "\n" "\'," < myfileabove
他们俩都没有我想要的...。我做错什么了吗?
tr将一个字符转换为另一个字符,它不会映射到字符串或从字符串映射,因此不能将换行符映射到字符串。尝试使用sed它会使您难以理解和/或无法携带。只需使用awk:
awk -v ORS="'," '1' file
Run Code Online (Sandbox Code Playgroud)
坚持下去-您发布的示例未显示您将换行替换',为:
$ awk -v ORS="'," '1' file
something',newline',newline again',$
Run Code Online (Sandbox Code Playgroud)
它显示您',在每行的末尾追加内容,这是完全不同的事情。您仍然无法tr使用sed或这样做awk:
$ sed 's/$/'\'',/' file
something',
newline',
newline again',
$ awk -v ORS="',\n" '1' file
something',
newline',
newline again',
Run Code Online (Sandbox Code Playgroud)