在 Linux 中删除 CR 和 LF

在 Linux 中删除 CR 和 LF

如何使用 sed 从文本文件中删除所有 CR 和 LF(连接行)

答案1

tr -d '\n\r' < file

答案2

您可以使用\r\n,具体取决于您的操作系统。

\r\n适用于 Windows,\n适用于大多数 *nix,但用空白字符串替换它应该可以很好地合并你的行。

答案3

我同意丹尼斯·威廉姆森的观点...这里还有另一种选择:

perl -0pe 's/[\r\n]//g' < in > out

为什么这么多问题都包含“使用 sed”?我确实使用 sed,但我并不反对它的局限性。

答案4

在 Unix/Linux 系统上,我相信这对您有用。我使用 GNU sed 测试过它,但我不认为这是使用 GNU 扩展。

sed -e :a -e '/$/N; s/\r\n//; ta;' <in.txt >out.txt

相关内容