【发布时间】:2021-06-01 18:01:21
【问题描述】:
我正在尝试从 git diff 结果中修剪路径。这是我尝试过的:
def ti = "git -C C:\\PIE\\src\\repo diff --name-only".execute()
String directory =ti.text
File file= new File(directory)
def newlines = []
file.toString().eachLine {String line ->
if(line.contains("src")){
line = line.replace("/src","")
}
newlines<<line
}
println newlines
例如,gif diff 的输出如下:
a/b/c/src/ping.java
d/e/f/src/vim.java
g/h/j/src/key.java
我想将文件 currentDir 中的每一行修剪为:
a/b/c
d/e/f
g/h/j
【问题讨论】:
-
您已编辑您的问题以提出与您最初提出的完全不同的问题。这对于以后遇到此问题的任何人来说都是非常困惑的。请将新问题作为新问题提出,而不是重复使用旧问题。
-
是的,请记住这一点。我对此有点困惑。我的坏
-
如果您有多个文件差异,则使用
git diff创建文件会出错。如果您不将文件实例用于其他用途,只需执行ti.text.eachLine {}。如果需要,您可以创建一个 File 实例。甚至是更时髦的方法:ti.text.readLines().grep { it.contains("src") }.collect { it = it.replaceAll("/src", "") }