首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash Basename改性

Bash Basename改性
EN

Stack Overflow用户
提问于 2019-07-04 05:48:43
回答 1查看 140关注 0票数 0

在bash内部,我正在加载一个文件,如:

代码语言:javascript
复制
/path/to/dir/filename.ext

现在的想法是使用该文件名,并在修改后“扩展其名称”,例如:

代码语言:javascript
复制
some operation /path/to/dir/filename.ext > path/to/dir/filename_extendingfilename.ext;

到目前为止,我使用了这里已经问过的另一个问题(参考在Bash中提取文件名和扩展名)来调用文件名:

代码语言:javascript
复制
basename filename .extension

basename /path/to/dir/filename.txt .txt

filename

存在的问题是创建一个新文件,该文件具有源文件的文件名,并使用"_ extension.ext“在源文件上扩展

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-04 06:11:21

在这里,bash 壳参数展开是一个选项:

代码语言:javascript
复制
f=/path/to/dir/filename.ext
f2=${f%.ext*}"_extendingfilename.ext"

shell参数展开在.ext的最后一次出现时会减少(也就是说,它也将正确地工作在像/path/to/dir/file.ext.name.ext这样的文件中)

以下是答案中的重定向示例:

代码语言:javascript
复制
f=/path/to/dir/filename.ext
someoperation $f > ${f%.ext*}"_extendingfilename.ext"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56881359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档