如何在获取 find 命令返回的结果后在 while 循环中复制文件?

How to copy files in a while loop after getting results returned by find command?

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory

我试图遍历 find 命令找到的系统中具有特定扩展名(例如:txt)的每个文件。当它遍历每个文件时,我想检查用户所需目录中是否已经存在同名文件。否则,它将复制文件。但是,cp 命令不起作用。这是我目前所拥有的:

find . -type f -name "*.$fileType"| while read file; do
    fname=`basename $file`
    echo $fname
    echo $file
    if [ -e "$path/$directory/$fname" ]; then
        echo "$fname exist"
    else
        cp $file $path/$directory
    fi
done

由于变量中有空格,因此应将它们正确地用引号引起来。

find . -type f -name "*.$fileType"| while read file; do
    fname="$(basename $file)"
    echo "$fname"
    echo "$file"
    if [ -e "$path/$directory/$fname" ]; then
        echo "$fname exist"
    else
        cp "$file" "$path/$directory"
    fi
done