【发布时间】:2014-04-16 02:00:08
【问题描述】:
我需要在Unix上创建一个dos格式的文本文件,其行尾字符为\r\n。
在 Unix 和 vi 中,我可以看到(通过“设置列表”)$ 行尾字符。
当我使用以下方法将文件转换为 DOS 格式时:
perl -i -pne "s/\n/\r\n/g" i.txt
我得到的行尾是:^M$。
这很接近,但我需要的是一个以 \r\n 结尾的文件(即:仅限 ^M)。
示例 i.txt 文件(例如,如果在 vi 中启用了设置列表):
起始文本第一行$
开始文本第二行$
转换后的产品:
起始文本第一行^M$
开始文本第二行^M$
需要:
起始文本第一行^M
开始文本第二行^M
所以我需要 dos 单字符表示作为行尾。 unix2dos 没有帮助。建议?
【问题讨论】:
-
您真的想要文件中的所有文本在同一行吗?删除换行符会将其放在一行中。
-
你是想告诉我们在 Google 中输入“dos end of line character in unix”没有得到答案吗?
-
是的,这就是我要说的 :-) 这就是我找到上面提到的 Perl 小宝石的地方。不,不希望所有文本都在一行中。只是阅读该项目的要求,并想知道这是否可能。我在想“不,也必须有 \n”(即:不能避免在每一行的末尾都有两个 ^M$ )。但是找人告诉我我错了。