Я думаю, что bash - неправильный язык для этой задачи, он не оптимизирован для манипулирования текстом, он лучше всего подходит для задач, в которых вы хотите порождать некоторые процессы или манипулировать файлами и т. Д. В большинстве случаев простые задачи манипулирования текстом можно выполнять с помощью awk,Следующее дает желаемый результат для вашего входного файла:
$ cat file
2 miR-5
3 miR-10
1 miR-4
4 miR-6
$ awk '{for (i=1; i<=$1; i++) print $2}' file
miR-5
miR-5
miR-10
miR-10
miR-10
miR-4
miR-6
miR-6
miR-6
miR-6
Для полноты информации с тегами в вопросе, вот как вы это сделаете в bash:
#!/bin/bash
while read -r num rest
do
for ((i=1;i<=num;i++))
do
printf '%s\n' "$rest"
done
done < file