我在一些 Bash 脚本(在 OSX 上)方面得到了一些帮助。我想创建一个带有两个参数的脚本 - 源文件夹和目标文件夹 - 并检查源层次结构中的所有文件以查看它们是否存在于目标层次结构中。即给定一张数据 DVD,检查其中包含的文件是否已经在内部驱动器上。
到目前为止我想出的是
#!/bin/bash
if [ $# -ne 2 ]
then
echo "Usage is command sourcedir targetdir"
exit 0
fi
source="$1"
target="$2"
for f in "$( find $source -type f -name '*' -print )"
do
我现在不确定如何最好地获取没有路径的文件名,然后查看它是否存在。我真的是脚本的初学者。
编辑:到目前为止给出的答案在紧凑代码方面都非常有效。但是,我需要能够在目标层次结构中的任何位置查找在整个源层次结构中找到的文件。如果找到,我想比较校验和和最后修改日期等并发表评论,或者,如果没有找到,我想注意这一点。目的是检查外部媒体上的文件是否已上传到文件服务器。