1

背景:现在我编写了一些脚本来将两个文件之间的差异输出到一个文件中。现在我使用 Linux 命令 diff -u。Ant有没有办法区分文件?这样我就可以使用groovy + ant + diff,而无需调用本地命令。

4

1 回答 1

1

不,ant 中没有 diff 命令。

你可以抓住java-diff-utils 之类的东西并自己编写(如果你想避免使用系统 diff 命令)

@Grab('com.googlecode.java-diff-utils:diffutils:1.2.1')
import difflib.*

def fileAContents = '''Line 1
                      |Line 2
                      |Line 3'''.stripMargin().split( '\n' ).toList()

def fileBContents = '''Line 1
                      |Line Two
                      |Line 3'''.stripMargin().split( '\n' ).toList()

DiffUtils.diff( fileAContents, fileBContents ).deltas.each {
    println it
}

打印:

[ChangeDelta, position: 1, lines: [Line 2] to [Line Two]]
于 2013-09-11T08:08:37.040 回答