在文本文件 Cygwin 中将 lf 替换为 cr-lf
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的
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.
您使用 Windows 和 Linux 文件结尾的奇怪组合来指定
unix2dos
的路径。如果您从 Windows 命令 shell 调用它,请使用以下命令:
如果您从 Cygwin、Cygwin shell 脚本或类似脚本中调用它,请使用以下命令:
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:
If you're calling it from within Cygwin, or a Cygwin shell script or similar, use this: