나는 다양한 순서로 숫자를 반복합니다. 오름차순으로 표시할 수 있으며 다음 단계도 수행할 수 있습니다.
$ 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