我正在使用md5deep尝试从文件列表(大约100,000散列)中获取md5哈希列表,并将它们与NSRL哈希列表(15gb文本文件)进行比较。
我正在努力完成一件事情:
我的100,000个输出哈希值与NSRL哈希列表中的哈希值不匹配。
我很难弄清楚如何正确传递100,000个哈希值。 这是我有什么:
md5deep -e -x NSRLFile.txt -c md5.csv
md5.csv就是散列,由breaklines隔开。 它其实不是一个csv。
我理论上可以把md5.csv和每一行传入
md5deep -e -x NSRLFile.txt -a $line
但我想避免这一点,如果我可以使用该程序的一些function。
我知道这更像是一个“RTFM”的问题,但是我已经阅读了手册,而且我还没有看到如何去做。
如果我正确理解格式,这个命令应该给出所需的结果:
comm -23 <(cat md5.csv | tr AF af | sort) <(cat NSRLFile.txt | cut -f2 -d, | tr -d '"' | tr AF af | sort)
这将输出在第一个文件但不在第二个文件中的散列。 comm命令的-2将跳过仅在第二个文件中的那些行,而-3将跳过那些仅在第一个文件中的行。
cat md5.csv | tr AF af | sort cat md5.csv | tr AF af | sort将所有的哈希转换为小写和sorting。
cat NSRLFile.txt | cut -f2 -d, | tr -d '"' | tr AF af | sort cat NSRLFile.txt | cut -f2 -d, | tr -d '"' | tr AF af | sort将以文件的第二列进行分隔,然后删除任何"字符,将所有散列转换为小写并对其进行sorting。