【发布时间】:2012-04-07 23:09:26
【问题描述】:
我有一个包含多个文件的目录,其中一些文件的名称中有空格:
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
后者显然对我没有用。用于$(wildcard) 的documentation 完全声明它返回一个“以空格分隔的名称列表”,但完全没有意识到这会引发巨大的问题。 documentation 也不是 $(foreach)。
是否有可能解决这个问题?如果是这样,怎么做?重命名每个文件和目录以删除空格不是一种选择。
【问题讨论】: