Я сделал это, используя условие if и awk
count_line=`awk '{print NR}' p.txt| sed -n '$p'`
for ((i=1;i<=$count_line;i++)); do j=`awk -v i="$i" -F "" 'NR==i{print NF}' p.txt`; if [[ $j == "1" ]]; then awk -v i="$i" -F "" 'NR==i{print "000"$0}' p.txt; elif [[ $j == "2" ]]; then awk -v i="$i" -F "" 'NR==i{print "00"$0}' p.txt ; elif [[ $j == "3" ]]; then awk -v i="$i" -F "" 'NR==i{print "0"$0}' p.txt; else awk -v i="$i" 'NR==i{print $0}' p.txt; fi; done
выход
0030
0001
0508
A0EA
A0EB
A0EC
A0ED