伙计们,我有一个问题,我有一个全是名字的 txt 文件,我想用一个命令一次性将 txt 中的所有名字哈希化为 md5sum,你能帮忙吗,提前谢谢了。
非常感谢您的帮助,但是当我使用命令行将文本转换为普通的 md5 编码器时出现了问题,但我希望它是 md5sum 格式,因为当我用这个命令行编码这个名字时,例如 Jeremy Bowers
回显“Jeremy Bowers”| $(命令 -v md5sum || 命令 -v md5)
像这样编码名称
(32cacbec4b918e2fd130fd68cf818ae5)
但是使用该命令时我用的是
当读取 -r 行时;执行 printf %s“$line”| md5sum | cut -f1 -d' ';完成 < {filename} > {输出文件名}
它向我显示了所有名称的正常 md5 编码,如下所示
(4aa63484b44863afe33675ffa7fea0e5)
它对我有用,但它以正常的 md5 编码方式显示所有文本,而不是 md5sum,所以我想要与我有的相同的文本命令
回显“Jeremy Bowers”| $(命令 -v md5sum || 命令 -v md5)
但我希望它逐行对文本内的所有名称进行编码,并提前感谢您。
答案1
如果你想哈希整个文件,你只需运行
md5um {filename}
如果名称由新行分隔,则可以使用以下命令对文件中的每个新行进行哈希处理
while read -r line; do printf %s "$line" | md5sum | cut -f1 -d' '; done < {filename}
这将循环遍历每一行新行,并将每行的哈希值打印到终端。
如果您希望将这些哈希值写入新文件或覆盖现有文件,请添加> {filename}
制作这个:
while read -r line; do printf %s "$line" | md5sum | cut -f1 -d' '; done < {filename} > {output filename}
在所有上述示例中,您都需要将其替换为{filename}
要哈希的文件的路径,并将{output filenames}
其替换为要输出哈希值的路径
答案2
使用 perl:
perl -MDigest::MD5=md5_hex -lne 'print md5_hex($_)' file.txt