簡體   English   中英

從 jenkins groovy 腳本中的文件名中刪除 substring

[英]Remove substring from filename in jenkins groovy script

您好我正在嘗試從 jenkins 管道腳本中的文件名中刪除 substring “-unsigned”。

其中 filePattern app/build/outputs/**/ -release .apk”。

我在下面寫了 groovy 腳本

        findFiles(glob: filePattern).each { file ->
            sh """
            mv ${file.path} "${file.path//-unsigned/}"
            """
        }

收到錯誤意外字符:0XFFFF。

可以建議我到底在哪里失蹤。 或建議如何從 groovy 的文件名中刪除 substring。

但是不確定這是重命名文件的最佳方法:

findFiles(glob: filePattern).each { file ->
   sh """
      mv ${file.path} "${file.path - '-unsigned'}"
      """
}

問題在您的代碼中//在此表達式中${file.path //...}

並且編譯器可以將其作為單行注釋

嘗試在 groovy 控制台中運行它:

"""
${'abc' //no matter what here}
"""
//comment here

^^^ 編譯錯誤:意外字符:0xFFFF

請參閱bash(1) - Linux 手冊頁

擴張

[...]

參數擴展

[...]

${參數/模式/字符串}

模式替換 [...]參數被擴展,模式與其值的最長匹配被替換為string

所以它應該是"${file.path/-unsigned//}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM