如何在shell脚本中对字符串进行条件解码

4dc9hkyq  于 2023-03-30  发布在  Shell
关注(0)|答案(2)|浏览(130)

我正在处理一个API调用,它会让我返回最新的版本号,它会生成UUID(4e2cab57b35a098993cbaec2455add)或日期格式的字符串行(2023-03-23T04%253a38%253a09Z)。
只有当版本号是以日期格式而不是UUID格式生成时,我才必须对版本号应用解码逻辑,并且转换将是lo 2023-03-23T04%253a38%253a09Z2023-03-23T04:38:09Z
有人能帮我一下吗。

of1yzvn4

of1yzvn41#

如果你不想限制自己只能使用bash,你可以考虑使用sedawk。这两个工具都已经支持条件替换,但是如果你需要有条件地执行额外的操作,你可以在shell中使用case语句。

revision=....

case "$revision" in
  *-*T*Z) # perform date conversion
    revision="$(printf '%s' "$revision" | sed 's/%253a//g')"
    ;;
  *) # handle everything else, e.g. UUIDs
    ;;
esac
8fq7wneg

8fq7wneg2#

我试过低于命令,它为我工作

echo ${var//substring to be replaced/$replace value}

相关问题