我正在尝试在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