dos2unix 不转换 ^M

2024-04-16

我从 Windows 7 上运行的程序将结果导出到文本文件中,并在 Xubuntu 14.04 上复制该文件。在终端中,我跑了dos2unix file.txt,这告诉我converting file out_mapqtl.txt to Unix format。但是,当我查看该文件时less,我仍然将 Windows 行尾视为 ^M,并且wc -l返回我“0”。

我尝试了所描述的几件事here https://stackoverflow.com/a/2613834/597069,但没有一个有效。然后我在 Vim 中打开该文件并执行了:%s/\r/\r/g正如所解释的there https://stackoverflow.com/a/1203971/597069,效果很好。那么你知道为什么 dos2unix 不起作用吗?有没有办法避免每次都打开Vim?


我知道您已经解决了这个问题,但我想根据我所做的一些测试添加一条注释以供参考。

如果 less 显示 ^M,那么就像 Sybren 一样,我怀疑它是 MAC 风格的结尾 (\r),而不是 DOS (\r\n)。您可以使用 cat 轻松确定:

$ cat -e 文件名

  • Unix 结尾 (\n) 显示为$
  • MAC 结尾 (\r) 显示为^M(较少显示这些)
  • DOS\Windows 结尾 (\r\n) 显示为^M$(less似乎没有显示这些)

使用 dos2unix 去掉 DOS (^M$) 结尾

Use mac2unix摆脱 MAC (^M) 结尾 - dos2unix 不会摆脱这些。

我有一个文件,我必须使用 dos2unix 和 mac2unix 来删除所有非 Unix 结尾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dos2unix 不转换 ^M 的相关文章

随机推荐