根据人类可读的输入生成数字序列

根据人类可读的输入生成数字序列

在 bash 中,我有一个程序,它列出了要下载的几个文件选项,然后提示用户选择一些。我希望用户能够输入一些内容,例如1-6,8,11-12下载文件 1、2、3、4、5、6、8、11 和 12。如何for从这种类型的人性化输入中生成一个数字序列(放入循环中)?

答案1

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" " "

输出:

1 2 3 4 5 6 8 11 12

相关内容