Вывести последовательность «вручную» с помощью
i=0
while [ "$i" -lt 1000000 ]; do
printf '%d %d\n' "$(( i+1 ))" "$(( i += 40000 ))"
done
или
for (( i = 1; i < 1000000; i += 40000 )); do
printf '%d %d\n' "$i" "$(( i + 39999 ))"
done
или что-то в этом роде.
Или paste
вместе две отдельные последовательности изseq
:
$ paste <( seq 1 40000 1000000 ) <( seq 40000 40000 1000000 )
1 40000
40001 80000
80001 120000
120001 160000
160001 200000
200001 240000
240001 280000
280001 320000
320001 360000
360001 400000
400001 440000
440001 480000
480001 520000
520001 560000
560001 600000
600001 640000
640001 680000
680001 720000
720001 760000
760001 800000
800001 840000
840001 880000
880001 920000
920001 960000
960001 1000000
Предложено JdeBP в комментариях:
jot - 1 1000000 40000 | awk '{ print $1, $1+39999 }'
, но по существу это то же самое, что и второй цикл вверху, и, поскольку seq
более доступен на машинах Linux,(jot
изначально является утилитой BSD, а seq
является частью GNU coreutils ), и наиболее частым посетителем здесь является пользователь Linux, и вопрос был отмечен тегом seq , его может быть более полезно написать как
seq 1 40000 1000000 | awk '{ print $1, $1+39999 }'