В вашем конкретном случае, вероятно, проще всего использовать флаг -f
для seq
, чтобы получить форматирование чисел при выводе списка.Например:
for i in $(seq -f "%05g" 10 15)
do
echo $i
done
будет выдавать следующий вывод:
00010
00011
00012
00013
00014
00015
В целом, bash
имеет printf
в качестве встроенного, так что вы можете дополнить вывод нулями какследует:
$ i=99
$ printf "%05d\n" $i
00099
Вы можете использовать флаг -v
для сохранения вывода в другой переменной:
$ i=99
$ printf -v j "%05d" $i
$ echo $j
00099
Обратите внимание, что printf
поддерживает немного другой формат, чем seq
поэтому вам нужно использовать %05d
вместо %05g
.