Bash基本名称修改

时间:2019-07-04 05:48:43

标签: bash filenames creation

在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

创建一个新文件,该文件具有源文件的文件名和扩展名。

1 个答案:

答案 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"