gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:33 25 4
gpt4 key购买 nike

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

ERROR MESSAGE

最佳答案

由于变量中有空格,因此应该正确地将它们括在引号中。

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

关于linux - 如何在获取find命令返回的结果后在while循环中复制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55931150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com