Tente isto (assumindo o GNU grep):
for pdf in *pdf; do
mv "$pdf" "$(grep -aE 'VAX[0-9]*' "$pdf" | sed 's/.*\(VAX[0-9]*\).*//)"
done
Observe que isso pressupõe apenas uma instância de VAXNNNNNNN
. Se você puder ter mais, use apenas a primeira correspondência:
for pdf in *pdf; do
mv "$pdf" "$(grep -m 1 -aE 'VAX[0-9]*' "$pdf" | sed 's/.*\(VAX[0-9]*\).*//)"
done