首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为新文件创建md5sum

如何为新文件创建md5sum
EN

Stack Overflow用户
提问于 2018-06-03 17:50:57
回答 2查看 1K关注 0票数 -1

我们在我爸爸的电脑上创建了一个文件夹,让家里的每个人都可以存放和分享他们的照片和视频。

代码语言:javascript
复制
Example of directories:
/Family_Photo/Penguins/2017 09 02/
/Family_Photo/East Beach/2017 10 11/Seaside/
/Family_Photo/East Beach/2017 10 11/Games/

使用md5deep,我能够为所有子目录中的所有文件创建一个完整的校验和列表

代码语言:javascript
复制
md5deep -r /Family_Photo/ > /Family_Photo/md5sum.log

代替每次为所有(新添加的和现有的)文件重新生成完整的md5校验和,

如何创建一个bash脚本来自动检测以前未执行过md5的任何文件,并为这些新文件生成校验和并将原始md5sum.log附加到这些新文件

EN

回答 2

Stack Overflow用户

发布于 2018-07-05 16:21:28

感谢所有人的投入。经过一番努力,我终于想出了一个能满足我当前需求的东西。

此部分仅在第一次运行时运行

代码语言:javascript
复制
md5deep -r /Family_Photos/ > /Family_Photo/photos.md5
cd Family_Photos/ & find . -print | sort > today.txt

下一部分将形成我的脚本。为每次运行准备txt文件。

代码语言:javascript
复制
cd Family_Photos/ & rm old.txt & mv today.txt old.txt

以递归方式将所有文件列出到today.txt中

代码语言:javascript
复制
find . -print | sort > today.txt

将新添加的文件更新到new.txt

代码语言:javascript
复制
grep -xvFf old.txt today.txt > new.txt

生成所有新文件的md5sum并附加到photos.md5中

代码语言:javascript
复制
cat new.txt | xargs -d '\n' md5sum >> photos.md5
票数 1
EN

Stack Overflow用户

发布于 2018-06-03 18:36:09

我将获取一个ls -l (并将其存储在一个临时文件中),

然后在一份日报上用一个新的ls来区分它?基础,如果diff返回0,则一切正常,如果diff显示差异。

然后我将只md5 diff报告的文件,用新的ls更新ls临时文件。我将使用--LTYPE-line-format=%<,这样它就不会查找删除的文件(临时文件中存在的文件,而不是新运行的ls中的文件)。

这将是查找“新”文件的presudo-code:

代码语言:javascript
复制
new_files=diff --suppress-common-lines --changed-group-format='%<' --unchanged-group-format='' temp_file $(ls -l)

deleted_files=diff --suppress-common-lines --changed-group-format='%>' --unchanged-group-format='' temp_file $(ls -l) #so you can log deletions too

我将继续编写其他代码(创建第一个临时文件并对数据进行哈希处理)

显然,如果您有一个目录,您必须运行ls -R,而不是从您想要检查的路径的根目录运行脚本

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50665116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档