提问人:komito 提问时间:8/25/2023 最后编辑:komito 更新时间:8/25/2023 访问量:71
在 groovy 函数中使用 sed 正则表达式时出现错误意外字符:“\”或意外的令牌
Error unexpected char: '\' or unexpected token when using sed regex in groovy function
问:
我有一个 sed 正则表达式,可以解析当前和子目录中的所有 dockerfile,并将我的注册表添加到映像名称中(如果它不存在)。我需要将其添加到 jenkinsfile 中调用的 grooves 函数中。添加时,我得到:意外的令牌或意外的字符错误。尽管在 Linux 控制台中,该表达式运行良好。 我的正则表达式:
for d in `find . -name '*Dockerfile*'`; do
sed -i -e '/^FROM my[.]own[.]registy[.]org/{p;d}' -e 's/^FROM /FROM my.own.registy.org\//' $d;
done
试图将它集成到时髦中。 通过 shell:
def call (Here is a function that downloads dockerfiles from the repository)
---
---
sh "for d in `find . -name '*Dockerfile*'`; do sed -i -e '/^FROM my[.]own[.]registy[.]org/{p;d}' -e 's/^FROM /FROM my.own.registy.org\//' $d; done"
我收到一个错误(my.own.registy.org 后有一个指向转义字符的指针):
意外令牌:用于 @ 第 38 行,第 22 列。def sedCommand = 用于 d in ;do sed -i -e '/^FROM my[.]自己的[.]注册[.]org/{p;d}' -e 's/^FROM /FROM my.own.registy.org\//' $d;做find . -name '*Dockerfile*'
如果我尝试使用一个函数:
def call (Here is a function that downloads dockerfiles from the repository)
---
---
def sedCommand = for d in `find . -name '*Dockerfile*'`; do sed -i -e '/^FROM my[.]own[.]registy[.]org/{p;d}' -e 's/^FROM /FROM my.own.registy.org\//' $d; done
然后我得到一个错误(带有指向最后一个 appostrophe 的指针):
意外令牌:用于 @ 第 38 行,第 22 列。def sedCommand = 用于 d in ;do sed -i -e '/^FROM my[.]自己的[.]注册[.]org/{p;d}' -e 's/^FROM /FROM my.own.registy.org\//' $d;做find . -name '*Dockerfile*'
我该如何解决这个问题? 或者我怎样才能对凹槽做同样的正则表达式?不幸的是,我不太了解时髦
答: 暂无答案
评论
sh