当我的桌面崩溃时,我不得不将我的 Eclipse 工作区从 Linux 移动到 Windows。一周后,我将它复制回 Linux,愉快地编写代码,提交给 CVS。唉,windows 换行已经污染了很多文件,所以 CVS diff 会转储整个文件,即使我改变了一两行!
我可以编写一个脚本,但我想知道它是否会弄乱我的 Eclipse 项目文件。
将文件编码设置
UTF-8
为 Unix 并将新文件的行尾设置为 Unix,以便文本文件以不特定于 Windows 操作系统的格式保存,并且最容易在异构开发人员桌面之间共享:
- 导航到工作区首选项(常规:工作区)
- 将文本文件编码更改为
UTF-8
- 将新文本文件行分隔符更改为其他并从选择列表中选择 Unix
- 注意:要转换现有文件的行尾,请在 Eclipse 中打开该文件并选择
File : Convert Line Delimiters to : Unix
提示:您可以通过在包资源管理器中选择然后转到菜单项来轻松转换现有文件File : Convert Line Delimiters to : Unix
有一个方便的 bash 实用程序 -dos2unix
它是一个 DOS/MAC 到 UNIX 文本文件格式转换器,如果尚未安装在您的发行版上,应该可以通过包管理器轻松安装。 dos2unix 手册页
\r
要从所有子目录的 CVS/* 文件中递归删除回车符 ( ),请在 unix shell 中运行以下命令:
find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
你可以试一试。问题是 Windows 在给定新行时会插入回车符和换行符。Unix 系统只插入一个换行符。因此,额外的回车字符可能是您的日食与换行符混淆的原因。
从您的项目中获取一两个文件并进行转换。您可以使用 Notepad++ 来执行此操作。只需打开文件,转到格式-> 转换为 Unix(当您使用 Windows 时)。
在 Linux 中,只需在命令行上尝试:
sed 's/$'"/`echo \\\r`/" yourfile.java > output.java