在bash内部,我正在加载一个文件,如:
/path/to/dir/filename.ext现在的想法是使用该文件名,并在修改后“扩展其名称”,例如:
some operation /path/to/dir/filename.ext > path/to/dir/filename_extendingfilename.ext;到目前为止,我使用了这里已经问过的另一个问题(参考在Bash中提取文件名和扩展名)来调用文件名:
basename filename .extension
basename /path/to/dir/filename.txt .txt
filename存在的问题是创建一个新文件,该文件具有源文件的文件名,并使用"_ extension.ext“在源文件上扩展
发布于 2019-07-04 06:11:21
在这里,bash 壳参数展开是一个选项:
f=/path/to/dir/filename.ext
f2=${f%.ext*}"_extendingfilename.ext"shell参数展开在.ext的最后一次出现时会减少(也就是说,它也将正确地工作在像/path/to/dir/file.ext.name.ext这样的文件中)
以下是答案中的重定向示例:
f=/path/to/dir/filename.ext
someoperation $f > ${f%.ext*}"_extendingfilename.ext"https://stackoverflow.com/questions/56881359
复制相似问题