在bash内,我正在加载一个文件,例如:
/path/to/dir/filename.ext
现在的想法是使用该文件名,并在修改后“扩展其名称”:
some operation /path/to/dir/filename.ext > path/to/dir/filename_extendingfilename.ext;
到目前为止,我已经设法从另一个已经在这里被问到的问题(供参考Extract filename and extension in Bash)中使用它来调用文件名:
basename filename .extension
basename /path/to/dir/filename.txt .txt
filename
我遇到的问题是使用“ _ extension.ext ”
创建一个新文件,该文件具有源文件的文件名和扩展名。答案 0 :(得分:0)
bash
shell parameter expansion是此处的选项:
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"