查找两个文件夹之间缺少的文件

时间:2017-05-09 16:27:02

标签: linux find md5sum

我正在寻找一种方法来查找文件夹及其子文件夹中的文件,这些文件在另一个文件夹和子文件夹中没有重复(即丢失)。但搜索应该只在一个方向上执行:从folder2中的folder1搜索文件,而不是从folder1中的folder2搜索文件。

试图澄清......

我有一个文件夹,我可以使用bittorentSync上传我的iphone的所有照片。 这个文件夹有根据iphone galery的子文件夹(例如100APPLE,101APPLE,102APPLE ......)。

我有另一个托管我的照片库的文件夹。在此文件夹中,Photos存储在以year命名的子文件夹中,然后存储在以year-month命名的子文件夹中。照片使用' year_month_day-XXX.jpg'重新命名。其中xxx是照片编号。

结构如下:

2010/2010-06/2010_06_02-001.jpg
2010/2010-06/2010_06_02-002.jpg
2012/2012-08/2012_08_09-001.jpg
2012/2012-08/2012_08_09-002.jpg
2012/2012-08/2012_08_09-003.jpg

我使用以下命令搜索其他文件夹中不存在的文件。在重命名文件时,我需要使用md5sum来比较文件。

 find iphoneSync PhotosLib -type f -exec md5sum '{}' ';' | sort | uniq --unique -w 30 > ListFilesToCopy.txt

这很好用,但它是在两个方向搜索...即从iphoneSync搜索文件到PhotosLib,还有从PhotosLib到iphoneSync的文件。

我想阻止第二个方向搜索,即从PhotosLib到iphoneSync的文件。 iphoneSync包含大约300张照片,而PhotosLib(和子文件夹)包含超过10,300个文件......

目前,当搜索给出两个方向搜索的结果时,我有义务使用此命令复制我临时文件夹中PhotosLib中缺少的文件:

cp $( awk -F"iphoneSync" 'NF>1{ print "iphoneSync"$2 }' ListFilesToCopy.txt ) AmokTempDir/

使用临时目录的原因是因为我使用Amok Exif Sorter根据Exif数据自动移动和重命名我的照片在PhotosLib的正确子文件夹中。

我期待任何建议或提示,只在一个方向进行搜索,以提高效率。

提前致谢。

0 个答案:

没有答案