Na verdade, eu gostaria de ver algum exemplo do arquivo para trabalhar, mas o código em si fortaleceu minha suposição.
hash="blablabla"
awk -F' *= *' -v hash="$hash" '$2 == hash { print $1 }' your.manifest | sort ...
Aqui nós apenas passamos o hash para o awk e pedimos que ele dividisse as linhas em sinais de igual. Se o valor após o sinal for o hash, imprimimos o valor antes do sinal, esperamos que a região. Então você pode ou não classificar esses valores de acordo com suas necessidades.
Se quisermos ver todas as chaves para um hash, podemos usar isso:
awk -F' *= *' -v hash="$hash" '$2 == hash { keys=(keys ? keys "," $1 : $1)}; END { print keys}' your.manifest
Se apenas a última chave para um hash no arquivo for interessante, esse código ganha:
awk -F' *= *' -v hash="$hash" '$2 == hash { key=$1}; END { print key}' your.manifest