O seguinte assume que a parte Rep do nome do arquivo é numerada sequencialmente de 1 (ou seja, não haverá um Rep2 ou Rep3, a menos que também haja um Rep1). Ele usa a presença de um arquivo "Rep1" para decidir se deve ou não rodar o gato para uma série particular de arquivos Experiment * ... isso é necessário apenas se houver alguns arquivos faltando na sequência ExperimentA * .. ExperimentZ * . Se isso não for possível, basta excluir [ -e Experiment${f}_Rep1.bed ] &&
da linha do gato.
for f in {A..Z} ; do
[ -e Experiment${f}_Rep1.bed ] && cat Experiment${f}_Rep*.bed > Experiment${f}_merged.bed
done