最佳答案
我有一个包含几个文件的目录,其中一些文件的名称中有空格:
Test workspace/
Another directory/
file1.ext
file2.ext
demo 2012-03-23.odp
我在这个目录上使用 GNU 的 $(wildcard)
命令,然后使用 $(foreach)
迭代结果,将所有内容打印出来。密码是这样的:
FOO := $(wildcard *)
$(info FOO = $(FOO))
$(foreach PLACE,$(FOO),$(info PLACE = $(PLACE)))
下面是我希望看到的打印出来的内容:
Test workspace
Another directory
file1.ext
file2.ext
demo 2012-03-23.odp
下面是我实际上会得到的:
Test
workspace
Another
directory
file1.ext
file2.ext
demo
2012-03-23.odp
后者显然对我毫无用处。文件 for $(wildcard)
直截了当地声明它返回一个“空格分隔的名称列表”,但是完全没有认识到这引起的巨大问题。对于 $(foreach)
,文件也是如此。
有可能解决这个问题吗?如果是这样,怎么做?重命名每个文件和目录以删除空格不是一个选项。