删除反斜杠 + 换行符序列

Dee*_*pak 7 sed text-processing newlines

我们在 Linux 中有一个文件,每条记录包含一行,但是当该行包含一些换行符时会出现问题。在这种情况下,反斜杠附加在行尾,并且记录被分成多行。所以下面是我的问题:

"abc def \
xyz pqr"
Run Code Online (Sandbox Code Playgroud)

应该:

"abc def xyz pqr"
Run Code Online (Sandbox Code Playgroud)

我试过sed -I 's/\\\n/ /g' <file_name>哪个不起作用。我也试过这个tr命令,但它只替换了一个字符,而不是字符串。您能否建议任何命令来处理此问题。

ste*_*ver 8

你应该可以使用

sed -e :a -e '/\\$/N; s/\\\n//; ta'
Run Code Online (Sandbox Code Playgroud)

请参阅 Peter Krumins 的著名 Sed One-Liners 解释,第一部分,39。如果以反斜杠 "\" 结尾,则在下一行追加一行。