加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 从文件中删除扩展名而不知道

发布时间:2020-12-15 19:12:15 所属栏目:安全 来源:网络整理
导读:我知道如何删除文件的扩展名,当我知道为: nameis=$(basename $dataset .csv) 但是我想先删除任何扩展名,而不知道它是否知道如何做? 任何帮助赞赏, 摊晒 在bash中,您可以执行以下操作: nameis=${dataset%.*} …例如: $ dataset=foo.txt$ nameis=${dat
我知道如何删除文件的扩展名,当我知道为:
nameis=$(basename $dataset .csv)

但是我想先删除任何扩展名,而不知道它是否知道如何做?

任何帮助赞赏,
摊晒

在bash中,您可以执行以下操作:
nameis=${dataset%.*}

…例如:

$ dataset=foo.txt
$ nameis=${dataset%.*}
$ echo $nameis
foo

这种语法在bash手册页中描述为:

${parameter%word}

${parameter%%word}

Remove matching suffix pattern. The word is expanded to produce a pattern just as in pathname expansion. If the pattern matches a trailing portion of the expanded value of parameter,then the result of the expansion is the expanded value of parameter with the shortest matching pattern (the “%” case) or the longest matching pattern (the “%%” case) deleted. If parameter is @ or *,the pattern removal operation is applied to each positional parameter in turn,and the expansion is the resultant list. If parameter is an array variable subscripted with @ or *,the pattern removal operation is applied to each member of the array in turn,and the expansion is the resultant list.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读