如何使用 Ant 比较文件,就像 Linux 上的 diff 命令 -u 一样



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

不,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]]

相关内容

  • 没有找到相关文章

最新更新