如何在文件名中自动删除文件扩展名



我正在尝试在bash中制作一个脚本,该脚本需要从文件名中删除文件扩展名,例如以下

original:   something.zip
removed version: something

我当时认为我可以为此使用剪切,但是我担心可能会出现一个可能有一个以上时期的文件名,等等,类似于以下

something.v2.zip

话虽如此,我想知道是否有人对我可以从文本/文件名的行中删除最后一个时期和文本有什么建议?任何帮助将不胜感激,谢谢!

 f=file.zip
 echo "${f%.zip}"
 file

'%'是一个参数修饰符,它的意思是,从变量值的右侧删除,无论'%'char之后,在这种情况下是字符串.zip。您可以通过使用

之类的通配符使这一更通用以删除任何尾随的扩展
 echo "${f%.*}"
 file

如果要删除最后一个阶段到结束的删除,请尝试以下操作:

$ f=some.thing.zip
$ echo "${f%.*}"
some.thing

相关内容

  • 没有找到相关文章