私はさまざまな順序で数字を繰り返します。昇順で表示でき、次の手順も実行できます。
$ seq --separator="," 1 10
1,2,3,4,5,6,7,8,9,10
$ seq --separator="," 1 2 10
1,3,5,7,9
連続的または段階的ではなく逆の順序で表示することもできます。
$ seq --separator="," 10 1
$ seq --separator="," 10 2 1
上記コマンドの出力はありません。
私のシェルの詳細:
$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
数字を降順に表示する方法を教えてください。
答え1
負の増分の使用
seq -s, 10 -2 1
10,8,6,4,2
答え2
一般的に言えば、使用したくなく、seq
移植性がありません(標準のLinux環境でも)。 ksh、zsh、またはbash4+を使用している場合は、中かっこ拡張を使用できます。
echo {10..1..2} | tr " " ,
10,8,6,4,2
答え3
純粋なbash、kshまたはzshの別の方法:
for ((i=10;i>0;i-=2)) ; do echo -n "$i," ; done
純粋なPOSIX方式:
i=10
while [ "$i" -gt 2 ]; do printf "$i,"; i=$((i-2)); done
echo "$i"
答え4
以下を試してください。
seq [OPTION]... FIRST INCREMENT LAST
例:
$ シーケンス 10 -1 1