我有一个像这样的目录结构 / dir01 / dir02 /文件
我想将dir02中的第一个文件复制到一个单独的驱动器上,并复制到一个与dir01同名的目录中
我写了以下脚本
while [ "${*}" != "" ] ; do
INPUT="${1}"
FOLDER="${INPUT}"/*DPX
TARGET_FOLDER="/Users/user/Desktop/folder"/$(basename "${INPUT}")
for file in "${FOLDER}"; do
echo cp "$file" "${TARGET_FOLDER}"
break 1
done
done
这里INPUT是dir01,FOLDER是dir02,TARGET_FOLDER是与dir02同名的新目录,我希望将文件复制到。
当我运行脚本时,它在INPUT路径中查找名为* DPX的文件夹,该文件夹不存在。 INPUT目录中有许多名为* DPX的文件夹,我希望它从所有文件夹中提取第一个文件。
答案 0 :(得分:1)
尝试将for
替换为:
for file in "$INPUT"/*DPX/*
注意:
*DPX
的文件,因为${FOLDER}
行引用了for
。for f in "$dir"
将使用for
执行f=$dir
循环一次。要在$dir
下查找文件,您需要另一个/*
。shift
之前done
。