Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试在 bash 中创建一个脚本,该脚本需要从文件名中删除文件扩展名,如下所示
original: something.zip removed version: something
我在想我可以为此使用 cut ,但我担心可能会出现一种情况,即文件名可能包含多个句点等,类似于以下内容
something.v2.zip
话虽如此,我想知道是否有人对我可以做些什么来从文本/文件名行中删除最后一个句点及其后面的文本有什么建议?任何帮助将不胜感激,谢谢!
f=file.zip echo "${f%.zip}" file
'%' 是一个参数修饰符,它意味着从变量值的右侧删除 '%' 字符之后的任何内容,在本例中为 string .zip。您可以通过使用通配符来使其更通用以删除任何尾随扩展名
.zip
echo "${f%.*}" file
如果要删除从最后一个期间到结尾的 ,请尝试以下操作:
$ f=some.thing.zip $ echo "${f%.*}" some.thing