在 Ant 正则表达式中用 LF 替换 CRLF

Replacing CRLF with LF in Ant regex

我想用 Ant 中的 Linux eol(LF) 替换 windows eol (CRLF)。我找不到使用正则表达式来选择 Windows eol 字符的方法。

我尝试了很多不同的方法,但似乎没有任何效果。

<replaceregexp byline="true">
  <regexp pattern="\r\n" />
  <substitution expression="\n"/>
  <fileset dir="${basedir}/mydir" includes="**/*" />
</replaceregexp>

您可以尝试 Ant 的 <fixcrlf> 任务,它是专门为此目的创建的。

<fixcrlf eol="unix" srcdir="${basedir}/mydir" includes="**/*" />

这个任务有很多优点,其中之一是;它会自动重复自身而不使用 \r.