我正在使用find命令查找格式化的文件' DGT _ ????。JPG'。我想将这些复制到另一个文件夹。但是,脚本会找到重复的文件名,我试图找到一种方法来附加要复制的源目录中的文件,并使用额外的' .JPG'在文件名的末尾而不是覆盖目标目录中的文件。例如,如果' DGT_0001'在两个文件夹中,源目录中的文件名将被附加到' DGT_0001.JPG.JPG',然后移动到目标目录。
我的代码在
下面#!/bin/sh
clear
SRC="$1"
DEST="$2"
SUFFIX=.JPG
if [ "$#" -eq 0 ]; then
echo "two arguments required"
fi
if [ ! -d "$SRC" ]; then
echo "Source directory does not exist"
exit
fi
if [ ! -d "$DEST" ]; then
mkdir "$2"
fi
for image in $(find "$SRC" -type f -iname IMG_[0-9][0-9][0-9][0-9].JPG)
do
cp "$image" "$DEST"
done
答案 0 :(得分:1)
您可以cp
进行备份:
cp --backup --suffix=.JPG "$image" "$DEST"
来自man cp
:
--backup[=CONTROL]
make a backup of each existing destination file
-S, --suffix=SUFFIX
override the usual backup suffix