gpt4 book ai didi

linux - 仅从字符串 "89dde7.rqsnhq34h.fmu8s1vn0i94hl.tgz.tar.gz"中删除 ".tar.gz"

转载 作者:太空宇宙 更新时间:2023-11-04 05:15:26 26 4
gpt4 key购买 nike

仅从字符串 89dde7.rqsnhq34h.fmu8s1vn0i94hl.tgz.tar.gz 中删除 .tar.gz 部分,结果应为 89dde7.rqsnhq34h.fmu8s1vn0i94hl.tgz。某些具有此扩展名的文件也可能会发生这种情况:91xhq8vkxlkdfpmfg566qahrwkh01c7n0scpdsr4p4vf6.tbz.tar.bz2 以及其他带有双扩展名的 tar.tbz tar.zip 等等...

如果是 .tar.zip,结果必须是 nomearchivio.tar,如果是 91xhq8vkxlkdfpmfg566qahrwkh01c7n0scpdsr4p4vf6.tbz.tar.bz2 则结果必须是 91xhq8vkxlkdfpmfg566qahrwkh01c7n0scp dsr4p4vf6.tbz

我用这个:

nameFile= "89dde7.rqsnhq34h.fmu8s1vn0i94hl.tgz.tar.gz"
name=${nameFile%.*}

结果是:

echo $name
89dde7.rqsnhq34h.fmu8s1vn0i94hl.tgz.tar

你能帮我吗?谢谢

附注请注意,文件名中还包含其他点。

最佳答案

由于您确切地知道要删除的内容,因此只需完整填写即可:

name=${nameFile%.tar.gz}

或者删除最后两个“扩展名”.*.*:

name=${nameFile%.*.*}

关于linux - 仅从字符串 "89dde7.rqsnhq34h.fmu8s1vn0i94hl.tgz.tar.gz"中删除 ".tar.gz",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com