Eu percebi que estava copiando todos os arquivos em todas as pastas com base no tipo de arquivo, ou seja, .fna.gz, então eu especifiquei que tipo de arquivo fna.gz eu quero ler e depois copiei. Não há necessidade de uma instrução if, pois a especificidade está implícita na expansão do parâmetro. Agora funciona perfeitamente.
for fldr in /home/scripts/playground/genomes_2/* ; do
basenm=${fldr##*/} ; f_name=${basenm%%_*} ;
find . -name $f_name*fna.gz | while read f ; do
cp -r $f /home/scripts/playground/port/$f_name/ ;
done
done