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
答案 0 :(得分:0)
由于变量中有空格,因此应正确将其用引号引起来。
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