在文本文件 Cygwin 中将 lf 替换为 cr-lf

发布于 2025-01-06 01:03:54 字数 223 浏览 0 评论 0原文

我有一个 Cygwin 脚本,可以将内容输出到文件中。我唯一的问题是它总是使用 \n "lf" 行结尾而不是 \r\n "cr-lf"。我想要替换它们或者只是让 cygwin 始终输出 \r\n 作为行结尾。

我在脚本中尝试了以下两个命令但无济于事。

unix2dos d:/temp.txt
sed -i -e 's/\n/\r\n/g' d:/temp.txt

I've got a Cygwin script that outputs stuff to a file. My only problem is that it always uses the \n "lf" line endings instead of \r\n "cr-lf". I want to either replace them or just get cygwin to always output \r\n for line endings.

I've tried the following two commands to no avail within the script.

unix2dos d:/temp.txt
sed -i -e 's/\n/\r\n/g' d:/temp.txt

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

指尖凝香 2025-01-13 01:03:54

您的 unix2dos 调用应该可以工作。您遇到某种错误吗?

Cygwin 安装程序有一个用于选择默认行结束约定(DOS 或 Unix)的选项,尽管它可能只在新安装期间显示 - 我不记得了。

Your unix2dos call should work. Are you getting some kind of error?

The Cygwin installer has an option for selecting the default line ending convention (DOS or Unix), although it might only show it during a new installation -- I don't remember offhand.

朮生 2025-01-13 01:03:54

您使用 Windows 和 Linux 文件结尾的奇怪组合来指定 unix2dos 的路径。

如果您从 Windows 命令 shell 调用它,请使用以下命令:

unix2dos d:\temp.txt

如果您从 Cygwin、Cygwin shell 脚本或类似脚本中调用它,请使用以下命令:

unix2dos /cygdrive/d/temp.txt

You're specifying the path to unix2dos using a bizarre mix of Windows and Linux file endings.

If you're calling it from a Windows command shell, use this:

unix2dos d:\temp.txt

If you're calling it from within Cygwin, or a Cygwin shell script or similar, use this:

unix2dos /cygdrive/d/temp.txt
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文