在 macOS(Mojave)上,“shasum”命令是否有一个选项,只返回哈希值而不包括文件名?
$ shasum -a 256 archive.tar.gz
35fe34e225a06d......00e72ee61a437b7226f9f archive.tar.gz
以下是我在macOS默认状态(无需安装其他软件)下使用的临时解决方案:
$ shasum -a 256 archive.tar.gz | awk '{ print $1 }'
35fe34e225a06d......00e72ee61a437b7226f9f
$ php -r "echo hash_file('sha256', 'archive.tar.gz'), PHP_EOL;"
35fe34e225a06d......00e72ee61a437b7226f9f
不过,如果有相应的命令选项,我希望能够更简单地操作。
是否有任何命令选项可供使用,还是我必须创建一个解决方法的别名?
sed 's/[[:space:]].*$//' < <(shasum -a 256 filename)
、awk '{print $1}' < <(shasum -a 256 filename)
或参数扩展v=$(shasum -a 256 filename); echo ${v/[[:space:]]*/}
。 - David C. Rankin