linux - 命令 'md5sum' 最后没有 '-' token

标签 linux bash hash command-line md5

我想在一个新的单独文本文件中使用 md5 散列文本文件的内容。这适用于每一行。我为此编写了以下 bash 脚本

#!/bin/bash
while read line; do echo -n $line|md5sum; done < $1 > $1.hash

这很好用。但是有了

echo -n 'somewords' | md5sum 

我的输出是这样的 8bf1072ac725ca3bc7f532079dd973ba - 我希望我的输出最后没有 - 。所以我的脚本应该给我这样的东西:

hash 1
hash 2
hash 3

不是

hash 1  -
hash 2  -
hash 3  -

最佳答案

因为 md5 哈希正好是 32 字节长,所以把那里的行剪掉:

while read line; do echo -n "$line"|md5sum; done < $1 |cut -c1-32 > $1.hash

关于linux - 命令 'md5sum' 最后没有 '-' token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41346867/

相关文章:

c# - 我如何(正确地)通过 .NET 使用 RSA 和 SHA256 验证文件?

linux - Glibc编译错误

python - 通过 Shell 调用 MATLAB 时出现 Python 脚本问题

linux - 将文件分类到同名文件夹中的 Bash 脚本

data-structures - 你能在 lisp 中使用哈希表吗?

c++ - 对字节字符串取模

c - Fork(系统调用) - 进程数

c++ - gSoap 不发送超过 4 个字节的响应

php - 如何将 pngquant 设置到 Linux 服务器?

java - 无法使用用于执行 Java 程序的 Linux 脚本