o bash tem um operador de sequência que você pode usar:
sequence () {
read start finish <<< "${1/.../ }"
start=${start//\'/}
finish=${finish//\'/}
eval echo {$start..$finish}
}
while read line; do
sequence "$line"
done << END
'0'...'7'
'0'...'9'
'a'...'j'
END
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 8 9
a b c d e f g h i j
Eu tenho que usar eval
porque o bash tentará expandir a sequência antes de expandir as variáveis. Consulte o link