Então, vamos juntar isso para o seu exemplo específico:
#!/bin/bash
filename='e141107140847.pdf'
echo Given file name ${filename} -
case ${filename:1:2} in
14)
mapping="SDUXS"
;;
*)
mapping="XXXXX"
;;
esac
month="${filename:3:2}"
year="20${filename:7:2}"
location="${filename:9:4}"
echo New filename - ${year}_${month}_${mapping}_${location}.pdf
parece dar o resultado que você procura. Expanda a instrução case..esac
para todos os seus mapeamentos e agrupe em for filename in *.pdf
e você poderá confirmar a saída; então apenas mude o echo
para:
mv "$filename" "${year}_${month}_${mapping}_${location}.pdf"