从 jenkins groovy 脚本中的文件名中删除子字符串
Remove substring from filename in jenkins groovy script
您好,我正在尝试从 jenkins 管道脚本的文件名中删除子字符串“-unsigned”。
where filePattern app/build/outputs/**/-release.apk".
下面写了groovy脚本
findFiles(glob: filePattern).each { file ->
sh """
mv ${file.path} "${file.path//-unsigned/}"
"""
}
出现意外字符错误:0XFFFF。
可以建议我到底错过了什么。或建议如何从 groovy.
中的文件名中删除子字符串
但不确定这是重命名文件的最佳方式:
findFiles(glob: filePattern).each { file ->
sh """
mv ${file.path} "${file.path - '-unsigned'}"
"""
}
您的代码中存在问题,您在此表达式 //
中有 ${file.path // ...}
编译器可以将其作为单行注释
尝试在 groovy 控制台中 运行 这个:
"""
${'abc' //no matter what here}
"""
//comment here
^^^ 编译错误:意外字符:0xFFFF
EXPANSION
[...]
Parameter Expansion
[...]
${parameter/pattern/string}
Pattern substitution. [...] Parameter is expanded and the longest match of pattern against its value is replaced with string.
所以应该是"${file.path/-unsigned//}"
.
您好,我正在尝试从 jenkins 管道脚本的文件名中删除子字符串“-unsigned”。
where filePattern app/build/outputs/**/-release.apk".
下面写了groovy脚本
findFiles(glob: filePattern).each { file ->
sh """
mv ${file.path} "${file.path//-unsigned/}"
"""
}
出现意外字符错误:0XFFFF。
可以建议我到底错过了什么。或建议如何从 groovy.
中的文件名中删除子字符串但不确定这是重命名文件的最佳方式:
findFiles(glob: filePattern).each { file ->
sh """
mv ${file.path} "${file.path - '-unsigned'}"
"""
}
您的代码中存在问题,您在此表达式 //
中有 ${file.path // ...}
编译器可以将其作为单行注释
尝试在 groovy 控制台中 运行 这个:
"""
${'abc' //no matter what here}
"""
//comment here
^^^ 编译错误:意外字符:0xFFFF
EXPANSION
[...]
Parameter Expansion
[...]
${parameter/pattern/string}
Pattern substitution. [...] Parameter is expanded and the longest match of pattern against its value is replaced with string.
所以应该是"${file.path/-unsigned//}"
.