Генерация огромных списков чисел
Я пытаюсь создать огромный список последовательных чисел с 0 дополнением
for example:
00000000
00000001
00000002
.
.
99999997
99999998
99999999
я пытаюсь что-то вроде:
for i in $(seq 00000000 99999999);do echo ${i} >> filelist.txt;done
это имеет две проблемы.
1: the range is too big and the system cant handle it
2: the numbers arent padded so I end up with something like this:
1
2
3
.
.
998
999
1000
Любая помощь будет принята с благодарностью..
2 ответа
Решение
seq
уже знает, как сделать отступы.
seq -w 00000000 00000009 >filelist.txt
Есть также -f
для более общих форматов (в основном полезно, когда приращение не является целым числом). Для более сложного вывода лучшим решением будет постобработка вывода seq
с sed
или другие инструменты обработки текста.
Как насчет этого в 2 шага
seq 10 > file
while read i; do printf "%.8d\n" $i; done < file
00000001
00000002
00000003
00000004
00000005
00000006
00000007
00000008
00000009
00000010