Seqですが、追加する代わりにステップを掛けます。

Seqですが、追加する代わりにステップを掛けます。

注文一連の数字を標準出力として印刷そして、私が知っている限り、追加によってのみカウンタを増やすことができます。

例えば、

seq 0 3 10
0
3
6
9

seq0から10まで3ずつ増加するように指示します。

加算の代わりに乗算を使用する方法はありますか?

seq-mult賞賛するようになれば

seq-mult 1 10 10000
1
10
100
1000
10000

答え1

シェルスクリプトでプログラムするのはとても簡単です。

#!/bin/bash
i=$1
while [[ $i -le $3 ]]
do
  printf "%d\n" $i
  (( i *= $2 ))
done

ここではエラーチェックはまったく行われません。 YMMV。

答え2

forループを使用すると、次のことができます。

start=$1
incr=$2
end=$3
for ((i=start;i<=end;i*=incr)); do
  printf '%d\n' "$i"
  ((i==0)) && break
done

答え3

からインスピレーションを受けるDonal24の答え、私はmakefileで動作し、提供され定義された独自の「レシピ」をMIN_INPUT作成MAX_INPUTしましたSTEP

range=$(MIN_INPUT); \
max=$(MAX_INPUT);\
step=$(STEP);\
while [ $$range -le $$max ];\
    do\
        range=`expr $$range \* $$step`;\
    done 

関連情報