巧用sed命令判断是否为整数

中心思想就是,把需要判断的部分,去掉非数字部分,如果去掉之后和去掉之前相等,则一定为整数:

具体的命令如下:


[ “`echo ”$1" | sed -r 's#[^0-9]##g'`"  = $1 ] || { echo "the input is integer" }


其中-r参数,是Sed 使用扩展正则的说明。

命令 s 是替换命令。替换和取代文件中的文本可以通过 sed 中的 s 来实现, s 后包含在斜杠中的文本是正则表达式,后面跟着的是需要替换的文本。可以通过 g 标志对行进行全局替换。

s 命令用于替换。命令末端的 g 表示在行内全局替换;也就是说如果每一行里出现多个west,所有的 west 都会被替换为 north。如果没有 g 命令,则只将每一行的第一 west 替换为 north


可以借鉴:http://www.cnblogs.com/ginvip/p/6376049.html 这里面比较详细。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据您提供的代码片段,我注意到您的 while 循环中缺少对 restart_count 和 max_restart_count 的更新。这可能导致循环无法正常工作。下面是对您的代码进行修改以解决此问题的建议: ```groovy stage('Deploy') { when { expression { "${IS_DEPLOY}" == "true" } } steps { sh "pwd" sh "sed -i s#APP_NAME#${APP_NAME}#g deployment-${NAMESPACE}.yaml && sed -i s#TAG_TO_REPLACE#${IMAGE_TAG}#g deployment-${NAMESPACE}.yaml && sed -i s#IMAGE_TO_REPLACE#${IMAGE_NAME}#g deployment-${NAMESPACE}.yaml" sh "kubectl apply -f deployment-${NAMESPACE}.yaml -n ${NAMESPACE}" script { def max_restart_count = 1 def restart_count = 0 while (true) { def status = sh(returnStdout: true, script: "kubectl rollout status deployment ${APP_NAME} -n ${NAMESPACE}").trim() if (status.contains("successfully rolled out")) { echo "Deploy ${APP_NAME} rolled out successfully" break } restart_count = sh(returnStdout: true, script: "kubectl get pods -l app=${APP_NAME} -n ${NAMESPACE} -o jsonpath='{range .items[*]}{@.status.containerStatuses[0].restartCount}{'\n'}{end}' | awk '{sum+=$1}END{print sum}'").trim().toInteger() if (restart_count > max_restart_count) { error "Pod restart count exceeded the threshold. Deployment ${APP_NAME} failed." break } sleep 5 } } } } ``` 在这个修改后的代码中,我使用了 Groovy 的脚本块来执行 while 循环,并使用 `sh` 命令获取命令的输出。我还添加了对 restart_count 和 max_restart_count 的更新,以便在循环中进行正确的判断。 请注意,我还将 `kubectl` 命令的输出使用 `trim()` 方法进行修剪,并将其转换为整数类型以进行比较。 希望这可以解决您的问题!如果您有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想做个自由的人

随缘吧打赏与否还是会坚持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值