【发布时间】:2012-08-31 05:11:36
【问题描述】:
我们在我们的 subversion 存储库中为 shell 脚本指定了 eol-style:native 属性;这消除了在 Windows 上编辑文件并在 UNIX 机器上执行时包含的 ^M 字符。
但最近我们遇到了一个问题:
一个shell脚本写了以下语句:
sed 's/^M//g' source_file > target_file
替换数据文件中的 ^M 个字符。但是当脚本在 subversion 中签入并在 unix 框上更新时,语句变为:
sed 's/
//g' source_file > target_file
真正的问题
我需要一种方法将 ^M 字符放入带有 eol-style:native 属性的颠覆中的 shell 脚本中。我不希望这个特定的 ^M 字符在转换中丢失。有可能吗?
【问题讨论】:
-
我真的很惊讶 Subversion 会影响这个,因为这不是
,而只是一个 字符。我认为这是 Subversion 中的一个错误。如果您将此文件更改为具有 LF的svn:eol-style怎么办?这会影响您的 sed 脚本吗?否则,希望您的sed脚本是 GNU 并且需要\r。