0
它只复制一个文件。为什么只复制一个文件
find ../../ -type f -name <filename.PDF> -print0 | xargs -0 -I file cp -rv file --target-directory=directory name with path
它为什么只复制一个文件。我想要复制具有相同名称但在不同日期和不同文件夹中创建的所有文件。
它只复制一个文件。为什么只复制一个文件
find ../../ -type f -name <filename.PDF> -print0 | xargs -0 -I file cp -rv file --target-directory=directory name with path
它为什么只复制一个文件。我想要复制具有相同名称但在不同日期和不同文件夹中创建的所有文件。
尝试是这样的:
cnt=1
find ../../ -type f -name filename.PDF |
while read fname
do
f=$(basename $fname)
cp $file /target/directory/${f}.${cnt}
cnt=$(($cnt + 1))
done
给每个目标文件的唯一编号。
你意识到每一个复制到目标目录都会覆盖你刚刚复制的以前的文件。 – 2013-04-25 10:43:26
确实如@jimmcnamara所说:你的'find'将会找到同名的文件。对于每一个,它都会将它复制到相同的目标目录中:这意味着第二个将覆盖第一个,然后下一个覆盖它,等等。所以最后找到由find发现的最后一个。您必须在复制文件时重命名文件。 (请参阅Jim解决方案) – 2013-04-25 11:46:50