%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%88%AB%EC%9E%90%EB%A5%BC%20%EC%97%AD%EC%88%9C%EC%9C%BC%EB%A1%9C%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 다양한 순서로 숫자를 반복합니다. 오름차순으로 표시할 수 있으며 다음 단계도 수행할 수 있습니다.
$ 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