[bash] bash에서 n 단계로 범위를 생성하는 방법은 무엇입니까? (증분으로 숫자 시퀀스 생성)

bash에서 범위를 반복하는 방법은

for i in {0..10}; do echo $i; done

단계를 통해 시퀀스를 반복하는 구문은 무엇입니까? 위의 예에서 짝수 만 받고 싶습니다.



답변

할거야

for i in `seq 0 2 10`; do echo $i; done

(물론 seq 0 2 10자체적으로 동일한 출력을 생성 하지만 ).

seq수는 부동 소수점 숫자 (예를 들어, seq .5 .25 3.5)하지만 배쉬의 중괄호 확장은 정수만을 할 수 있습니다.


답변

Bash 4 의 버팀대 확장에는 단계 기능이 있습니다.

for {0..10..2}; do
  ..
done

Bash 2/3 (루프에 대한 C 스타일, 위 답변 참조) 또는 Bash 4에 관계없이 ‘seq’명령보다 더 선호합니다.


답변

추가 과정없이 순수 배쉬 :

for (( COUNTER=0; COUNTER<=10; COUNTER+=2 )); do
    echo $COUNTER
done


답변

#!/bin/bash
for i in $(seq 1 2 10)
do
   echo "skip by 2 value $i"
done


답변

> seq 4
1
2
3
4

> seq 2 5
2
3
4
5

> seq 4 2 12
4
6
8
10
12

> seq -w 4 2 12
04
06
08
10
12

> seq -s, 4 2 12
4,6,8,10,12


답변