我使用md5sum为文件生成哈希值。 但我只需要接收哈希值,而不是文件名。

md5=`md5sum ${my_iso_file}`
echo ${md5}

输出:

3abb17b66815bc7946cefe727737d295  ./iso/somefile.iso

我如何“剥离”文件名,只保留值?


当前回答

md5="$(md5sum "${my_iso_file}")"
md5="${md5%% *}" # remove the first space and everything after it
echo "${md5}"

其他回答

md5=$(md5sum < index.html | head -c -4)
md5="$(md5sum "${my_iso_file}")"
md5="${md5%% *}" # remove the first space and everything after it
echo "${md5}"

如果你需要打印它并且不需要换行符,你可以使用:

printf $(md5sum filename)
md5=`md5sum ${my_iso_file} | cut -b-32`

另一种方法是:

md5sum filename | cut -f 1 -d " "

Cut将行分割为每个空格,只返回第一个字段。