Scripting 如何在使用for循环中的find结果的脚本中处理空格?

Scripting 如何在使用for循环中的find结果的脚本中处理空格?,scripting,Scripting,我试图编写一个简单的命令,在音乐目录中搜索特定类型的所有文件,并将它们复制到一个新目录。如果文件没有空格,我就没事了 我正在使用以下问题中的脚本,但它在空格中失败: 关于如何处理空格的任何建议,一旦我对列出的所有文件感到满意,我会将echo更改为cp for D in `find . -name "*.wma*"`; do echo "${D}"; done 您可能希望这样做: find . -name *.wma -exec echo "{}" \; 那没用。你能解释一下如何处理这些空间

我试图编写一个简单的命令,在音乐目录中搜索特定类型的所有文件,并将它们复制到一个新目录。如果文件没有空格,我就没事了

我正在使用以下问题中的脚本,但它在空格中失败:

关于如何处理空格的任何建议,一旦我对列出的所有文件感到满意,我会将
echo
更改为
cp

for D in `find . -name "*.wma*"`; do echo "${D}"; done

您可能希望这样做:

find . -name *.wma -exec echo "{}" \;

那没用。你能解释一下如何处理这些空间吗?怎么不起作用?如果您检查find的手册页,它会说:“字符串`{}被当前文件名替换”。所以如果你在它周围加引号,就像我的例子中那样,你将处理空格。因为我忽略了\;它不断地给我一个
查找:-exec:no termination“;”或“+”
谢谢你的帮助