从现有文件创建新文件,但更改其扩展名

时间:2014-02-11 15:37:48

标签: shell terminal

在shell中,有什么方法可以复制现有目录中的文件,以便结果提供相同的文件但具有不同的扩展名?所以采取类似的方式:

path/view/blah.html.erb

并补充说:

path/view/blah.mobile.erb

这样在path/view目录中就会出现:

path/view/blah.html.erb
path/view/blah.mobile.erb

理想情况下,我希望在目录级别执行此操作,如果文件已经包含两个扩展名,则不创建该文件,但这不是必需的。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

cd /path/view/

for f in *.html.erb; do
   cp "$f" "${f/.html./.mobile.}"
done

PS:这会将.html.的第一个实例替换为.mobile.,语法为bash specific(如果您没有使用BASH,请告诉我们)。< / p>