我正在寻找一种简单的方法将结果传输md5sum
到另一个命令中。像这样的东西:
$echo -n 'test' | md5sum | ...
我的问题是md5sum
不仅输出字符串的哈希值,还输出连字符,这表明输入来自标准输入。我检查了 man 文件,没有找到任何控制输出的标志。
答案1
答案2
你可以cut
:
echo -n 'test' | md5sum | cut -d' ' -f1
此处,-d' '
选择空格作为分隔符,并-f1
要求输入第一个字段(分隔符之前)。
答案3
使用awk也工作得很好:
echo -n 'test' | md5sum | awk '{print $1}'
另一种方法是创建子字符串。因为您知道 md5 哈希是一个包含 32 个字符的字符串,所以您可以使用:
HASH=$(echo -n 'test' | md5sum -) && echo ${HASH:0:32}
这只是字符串操作,所以你有选择!