<project>
<target name="test">
<property name="src.dir" value="src" />
<property name="search4" value=","/>
<fileset id="existing" dir="${src.dir}/src">
<patternset id="files">
<include name="*.txt"/>
</patternset>
</fileset>
<resourcecount property="count">
<fileset id="matches" dir="../src">
<patternset refid="files" />
<contains text="${search4}" />
</fileset>
</resourcecount>
<echo message="Found '${search4}' in files : '${count}'"/>
</target>
</project>
我使用了这个,但这只打印了第一次出现。我想打印总数。
例如 -abc,xyz,pg-->逗号(,(的出现次数为 2。
这是一种方法。 将文件复制到另一个文件,并使用筛选器删除所有非逗号,然后获取输出的大小,即输入文件中的逗号数。
<delete file="out.txt" />
<copy file="in.txt" tofile="out.txt">
<filterchain>
<striplinebreaks />
<replaceregex pattern="[^,]" replace="" flags="gm" />
</filterchain>
</copy>
<length file="out.txt" property="out.size" />
<echo message="Commas found: ${out.size}" />
关于您的后续问题:如何将其限制为文件的第一行:在"带状换行符"行之前添加以下内容:
<headfilter lines="1" />
这将只计算文件第一行中的逗号。