【发布时间】:2012-02-13 23:36:47
【问题描述】:
我有一个将内容输出到文件的 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
【问题讨论】:
我有一个将内容输出到文件的 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
【问题讨论】:
您的unix2dos 电话应该可以工作。您遇到了某种错误吗?
Cygwin 安装程序有一个用于选择默认行结束约定(DOS 或 Unix)的选项,尽管它可能只在新安装期间显示——我不记得临时的了。
【讨论】:
dos2unix: converting file d:/temp.txt to Unix format ... 的消息——是吗?
您正在使用 Windows 和 Linux 文件结尾的奇怪组合指定 unix2dos 的路径。
如果您从 Windows 命令外壳调用它,请使用:
unix2dos d:\temp.txt
如果您在 Cygwin 或 Cygwin shell 脚本或类似脚本中调用它,请使用:
unix2dos /cygdrive/d/temp.txt
【讨论】: