移动名称中有空格的多个文件(Linux)

我有一个目录,其中包含多个名称中包含空格的文件。 我想在名称中find一个模式,这些文件将被移动到其他目录。 现在的问题是,当在一个文件名中find特定的模式时,该文件正在移动到目标path,但是当有多个文件时,此方法失败。 以下是我正在使用的代码:

for file in `find . -maxdepth 1 -name "*$pattern*xlsx" -type f` do mv "$file" $destination/ done 

不需要使用循环:

 find . -maxdepth 1 -name "*$pattern*xlsx" -type f -exec mv {} $destination + 

使用以下代码正常工作

 find . -maxdepth 1 -name "*$pattern*xlsx" -type f -print0 | xargs -I{} -0 mv {} "$destination/"