当我的桌面电脑坏掉时,我不得不将Eclipse工作区从Linux移动到Windows。一周后,我把它复制回Linux,开心地编码,提交到CVS。但是遗憾的是,Windows换行符污染了许多文件,所以即使我只更改了一两行代码,CVS diff也会将整个文件都进行比较。
我可以编写一个脚本,但我担心它会破坏我的Eclipse项目文件。
当我的桌面电脑坏掉时,我不得不将Eclipse工作区从Linux移动到Windows。一周后,我把它复制回Linux,开心地编码,提交到CVS。但是遗憾的是,Windows换行符污染了许多文件,所以即使我只更改了一两行代码,CVS diff也会将整个文件都进行比较。
我可以编写一个脚本,但我担心它会破坏我的Eclipse项目文件。
将文件编码设为
UTF-8
,并将新文件的行尾设置为Unix格式,以便文本文件保存在不特定于Windows操作系统的格式中,并且可以轻松共享到各种不同的开发者桌面上:
- 导航到工作区首选项(General:Workspace)
- 更改文本文件编码为
UTF-8
- 更改新文本文件行分隔符为“Other”,然后从列表中选择Unix
- 注意:要转换现有文件的行尾,请在Eclipse中打开该文件,然后选择
File : Convert Line Delimiters to : Unix
提示: 您可以通过在包资源管理器中选择现有文件,然后转到菜单条目File : Convert Line Delimiters to : Unix
来轻松转换现有文件
文件 : 转换行分隔符为 : Unix
命令来一次性“修复”该项目中所有文件的换行符。 - Tal Weiss有一个方便的bash工具 - dos2unix
- 它是一个DOS/MAC到UNIX文本文件格式转换器,如果你的发行版上没有安装它,可以通过软件包管理器轻松安装。 dos2unix手册页面
find
命令不是这样工作的。 - Bradsed 's/$'"/`echo \\\r`/" yourfile.java > output.java
sed -i 's/$`echo \\\r`//' yourfile.java
,可以使用以下命令自动化处理:find . -name "*.java" -exec sed -i 's/$`echo \\\r`//' {} \;
。 - pdem要在所有子目录中递归地删除CVS/*文件中的回车符(\r
),请在unix shell中运行以下命令:
find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;