o awk está sempre tentando interpretar $<something>
como um valor de campo (por exemplo, $0
- o registro inteiro, $3
- o terceiro campo, $NF
- o último valor do campo)
Nome do diretório de passagem via variável:
awk -v dir="$TRANSDIR" '/FILE-HDRPQ/{x=substr ($0,11,6)}
NR>1{print $0 > dir"/"x"_prchgrpt.txt";}' "$TRANSDIR/$prcfile"