当我尝试使用openssl共享某些文件时,我得到的输出文件内容以“ SHA512(in.txt)= 090c ...”开头。
我通过命令尝试了-r,-binary不同的选项
这是我正在使用的命令
css
问题是:如何获取仅包含哈希的文件,而没有起始注释?
答案 0 :(得分:2)
awk的默认定界符是空格字符,如果文件名中包含空格,则接受的答案将不起作用。您可以使用-F
的{{1}}标志(字段分隔符)覆盖默认的定界符,但是如果文件名中存在相等的空格,那也将不起作用。使用默认定界符打印最后一列应适用于所有这些极端情况。 =
awk变量存储字段数,可直接用于打印最后一列,该列应始终为哈希。
$NF
答案 1 :(得分:0)
如果文件名不包含空格,则只能使用awk
打印第二列:
openssl dgst -sha512 -out in.txt | awk '{print $2}' > out.txt
或者(看起来好像不是跨平台的),您可以尝试管道或从stdin中读取:
openssl dgst -sha512 -out out.txt < in.txt
cat in.txt | openssl dgst -sha512 -out out.txt
这对我有效(Mac OS X)。