我正在寻找一个bash scrypt将一些文件夹和一些内容复制到另一个位置。我是老师,非常喜欢编程语言无论如何我正在寻找,我有这个导演结构
主要导演“学生”与子文件夹“john”;“雏菊”;“工作”等..和一些文件夹包含一个特定的文件,例如“exam.dat”,我需要一个scrypt,将检查每个文件夹在学生的“exam.dat”文件中,将该文件夹和此文件复制到另一个位置,而不复制其他文件在不包含exam.dat的文件夹或文件夹中。
希望我足够明确。提前谢谢
答案 0 :(得分:1)
#!/bin/bash
set -e
if [[ $# -ne 1 ]]; then
echo "usage: cpexams directory"
exit 1
fi
DESTINATION=$1
if [[ ! -d "${DESTINATION}" ]]; then
echo "directory ${DESTINATION} does not exist!"
exit 2
fi
for dir in *; do
if [[ -d "${dir}" ]] && [[ -a "${dir}/exam.dat" ]]; then
mkdir "${DESTINATION}/${dir}"
cp "${dir}/exam.dat" "${DESTINATION}/${dir}/"
fi
done
如果要在相同目标目录上重复使用该脚本(意味着更新目标目录),请将mkdir
更改为mkdir -p