首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为列中的每个值生成md5sum (.CSV文件),然后将生成的md5sum值与已经给定的md5sum值进行比较

为列中的每个值生成md5sum (.CSV文件),然后将生成的md5sum值与已经给定的md5sum值进行比较
EN

Stack Overflow用户
提问于 2021-07-22 14:06:51
回答 1查看 237关注 0票数 0

我是Linux的初学者,还在学习,我无法完成任务。

所以这里有一个CSV文件,只有几个列。

第1栏-文件名,

列2-文件的路径,

第3列-该文件的md5sum值(每一行)。

我的目标是通过转到前面提到的路径(第2列)生成文件的md5sum值(第1列),然后将该值与md5sum文件中已经存在的值进行比较,同时忽略前三行(标头)。对于CSV文件中的所有行

示例

代码语言:javascript
复制
cat Sample.csv

header1 
header2
file,pathTofile,md5sum
script.sh,/c/folder,987fg98df7g9df7g94353454
another.sh,/c/training/folder,54657981sdssgs654643535

输出(假设第1行具有正确的md5sum值,而第2行没有)

代码语言:javascript
复制
md5sum is a match for script.sh
md5sum is not a match for another.sh

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-22 14:35:13

来自man md5sum

-c,-检查一下

从文件中读取MD5和并检查它们

在这里,文件具有与md5sum的输出相同的格式:

代码语言:javascript
复制
bb8c5900589a82f48e15c2688670de39  file1
f23d2d7f519425c547d9e4287940ef72  /path/to/file2
...

这样,您就可以重新安排csv文件的格式,然后运行md5sum -c

代码语言:javascript
复制
awk -F, 'NR>3 {print $3"  "$2"/"$1}' Sample.csv | md5sum -c

NR>3跳过您的标题。如果您的示例不准确,请确保用实际的头行数替换3

md5sum -c的输出类似于

代码语言:javascript
复制
file1: OK
/path/to/file2: OK
some/corrupted/file: FAILED
file4: OK
...
md5sum: WARNING: 1 computed checksum did NOT match
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68486286

复制
相关文章

相似问题

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