mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-12 05:38:04 +00:00
Added script for extracting checksums
This commit is contained in:
parent
ffd1f022aa
commit
9e4116d845
51
scripts/extract-checksum.sh
Executable file
51
scripts/extract-checksum.sh
Executable file
@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script works with checksums_hashes_order and checksums to extract the relevant
|
||||
# sha of the various yq downloads. You can then use your favourite checksum tool to validate.
|
||||
# <CHECKSUM> must match an entry in checksums_hashes_order.
|
||||
#
|
||||
# Usage: ./extract-checksum.sh <CHECKSUM> <FILE>
|
||||
# E.g: ./extract-checksum.sh SHA-256 yq_linux_amd64.tar
|
||||
# Outputs:
|
||||
# yq_linux_amd64.tar.gz acebc9d07aa2d0e482969b2c080ee306e8f58efbd6f2d857eefbce6469da1473
|
||||
#
|
||||
# Usage with rhash:
|
||||
# ./extract-checksum.sh SHA-256 yq_linux_amd64.tar | rhash -c -
|
||||
#
|
||||
# Tip, if you want the checksum first then the filename (e.g. for the md5sum command)
|
||||
# then you can pipe the output of this script into awk to switch the fields around:
|
||||
#
|
||||
# ./extract-checksum.sh MD5 yq_linux_amd64.tar | awk '{ print $2 " " $1}' | md5sum -c -
|
||||
#
|
||||
#
|
||||
|
||||
if [ "$1" == "" ]; then
|
||||
echo "Please specify at a hash algorithm from the checksum_hashes_order"
|
||||
echo "Usage: $0 <HASH-ALG> <FILE>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "checksums_hashes_order" ]; then
|
||||
echo "This script requires checksums_hashes_order to run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "checksums" ]; then
|
||||
echo "This script requires checksums to run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
grepMatch=$(grep -m 1 -n "$1" checksums_hashes_order)
|
||||
if [ "$grepMatch" == "" ]; then
|
||||
echo "Could not find hash algorith '$1' in checksums_hashes_order"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
lineNumber=$(echo "$grepMatch" | cut -f1 -d:)
|
||||
|
||||
realLineNumber="$(($lineNumber + 1))"
|
||||
|
||||
grep "$2" checksums | sed 's/ /\t/g' | cut -f1,$realLineNumber
|
Loading…
Reference in New Issue
Block a user