如何解决ksh:从多个扩展名文件名中删除最后一个扩展名
我有一个文件名,格式为dir1 / dir2 / filename.txt.org,我想将其重命名为dir1 / dir2 / filename.txt。如何才能做到这一点。我尝试用“。”剪切。分隔符,但也会删除.txt
解决方法
您可以尝试使用korn shell变量扩展格式,而不是使用子流程(例如cut)。这样可以更快。
示例:
var1=dir1/dir2/filename.txt.org
var2=${var1%.*}
如果您现在print $var2
,则其值为dir1/dir2/filename.txt
%告诉它删除.*
最小匹配的最右边匹配项(这意味着在最右边的句点字符之后的所有内容)。
${variable%pattern}
-返回variable
的值,而没有与pattern
匹配的最小结尾部分。
还有其他可变扩展格式,值得研究文档。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。