Gnu make:“mv:can not stat'./*.{svg,tpl}':没有这样的文件或目录”?

时间:2016-02-10 23:21:30

标签: regex makefile gnu-make

我有* .svg和& *我的目录中的.tpl文件我希望通过makefile移动。

我有一个d3.makefile,例如:

done2:
    mkdir -p ../output/India
    mv ./*.{svg,tpl} -t ../output/India

当我运行它时,我收到错误消息:

enter image description here

当我手动在shell中运行以下内容时,它会起作用,我的文件会被移动:

mv ./*.{svg,tpl} -t ../output/India

我的错误在哪里?

2 个答案:

答案 0 :(得分:1)

make正在使用Bourne shell,它不了解glob模式中的大括号,而不是bash。把它分成两个参数。

done2:
    mkdir -p ../output/India
    mv *.svg *.tpl -t ../output/India

答案 1 :(得分:0)

找到。 -regex"。*。(svg \ | tpl)" | xargs mv -t ../ output / India