我从 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(使用前将#替换为@)