Gera uma sequência de números a partir de entrada legível por humanos

2

No bash, tenho um programa que lista várias opções de arquivos para download e, em seguida, solicita que o usuário selecione alguns. Gostaria que o usuário pudesse digitar algo como 1-6,8,11-12 para baixar os arquivos 1, 2, 3, 4, 5, 6, 8, 11 e 12. Como posso gerar uma seqüência de números (para colocar em um loop for ) deste tipo de entrada legível por humanos?

    
por Suchipi 01.10.2014 / 20:47

1 resposta

3
echo 1-6,8,11-12 | tr -cd "0-9,\n-" | tr "," "\n" | while IFS=- read A B; do eval echo {$A..${B:-$A}}; done | tr "\n" " "

Saída:

1 2 3 4 5 6 8 11 12
    
por 01.10.2014 / 21:04

Tags