Shell复制文件但更改扩展名

时间:2017-06-02 10:29:20

标签: shell unix sh

我是linux和shell的新手,我希望将文件复制到参数传递的位置,但更改其扩展名,Windows版本将是

copy .\a\b\c.pre %~dpn2.i

    d --> get the drive letter only
    p --> get the path only
    n --> get the file name only


所以我的问题是:如何获取参数传递的文件的完整路径并为其添加文件扩展名?

shell命令看起来像cp ./a/b/c.pre [$2 path but with extension .i]

提前致谢

1 个答案:

答案 0 :(得分:0)

for file in *.src; do
    cp "${file}" "${tgt_dir}"/"${file/%.src/.tgt}"
done

这将简单地将源文件夹中扩展名为.src的所有文件重命名为目标文件夹中的.tgt。您需要在脚本中设置目标文件夹