O script inteiro acaba dependendo das duas linhas para remover os "A":
tritail=$(cat ../FASTA_SEC/$i.fa)
echo ${tritail/A/} > ../FASTA_SEC/"$i".fa
Como você já está colocando todo o conteúdo do arquivo em uma variável, não é necessário um loop para remover todos os A's posteriores. Você poderia apenas fazer:
tritail="$(cat ../FASTA_SEC/"$i".fa)"
shopt -s extglob
echo ${tritail#+(A)} > ../FASTA_SEC/"$i".fa
Ou, se você não gosta de alterar a configuração extglob:
tritail="$(cat ../FASTA_SEC/"$i".fa)"
echo "${tritail%"${tritail##*[!A]}"}" > ../FASTA_SEC/"$i".fa
Na verdade, esses dois comandos são tudo o que você precisa para remover os A's posteriores.
A segunda linha funciona selecionando todos os A's à direita. Ou, como o comando realmente faz, removendo tudo que é não um A ([! A]) na parte inicial da variável:
tail=${tritail##*[!A]} # Select all the trailing A's
E então, a string resultante é removida da parte final da variável:
result=${tritail%"$tail"} # Remove the trailing A's
As duas expansões de parâmetros são reunidas em um único comando:
result=${tritail%"${tritail##*[!A]}"}
E é isso que é enviado para o arquivo (modificado):
echo "${tritail%"${tritail##*[!A]}"}" > ../FASTA_SEC/"$i".fa
Para remover os entrelinhas A, alterne todas as seleções:
echo "${tritail#"${tritail%%[!A]*}"}" > ../FASTA_SEC/"$i".fa