我有一个shellcript,我从NSTask运行,我是动态构建的。除了一件事,一切都很好:
如果文件名包含空格,则find-command会忽略它。我这样使用它:'find -iname * .xxx'。
如果文件名看起来像'aaa bbb.xxx',那么它就不会找到。
任何帮助表示感谢。
此致 马库斯
答案 0 :(得分:0)
find
并不关心文件名是否包含空格。那不是你的问题。
如果你实际上在问题中输入了它(find -iname *.xxx
),那么问题是你需要引用文件名模式以保护它免受shell扩展:find -iname '*.xxx'
。注意模式周围的引号;他们是必不可少的。
否则,问题很可能在于您如何处理您要回复的文件名。例如,这不起作用:
for f in `find -iname '*.xxx'`; do
echo "file: $f"
done
你会看到反引号操作符实际上是在空格上拆分(或实际上是$IFS
)并且你得到了两个“文件”:'aaa'和'bbb.xxx'。
答案 1 :(得分:0)
像这样逃离模式:
find -iname '*.xxx' -print
如果有帮助,请考虑+1。感谢