Linux 환경에서는 seq
라는 명령어를 사용하여 숫자 시퀀스를 생성할 수 있다. 이를 통해 반복 작업을 수행하거나 특정 범위의 숫자를 생성할 수 있는데, 이를 활용하면 쉘을 수행하거나 쉘스크립트 작성에 도움이 된다. 이 글에서는 seq
명령어의 사용법에 대해 알아본다.
seq
명령어?
seq
명령어는 시퀀스(sequence)를 생성하여 출력하는 명령어이다. 기본적으로 시작 숫자부터 끝 숫자까지 1씩 증가하면서 출력한다. 하지만, 시작/끝 숫자, 증가분 등을 지정하여 다양한 시퀀스를 생성할 수 있다.
seq
명령어 구문
seq
명령어의 기본적인 구문은 다음과 같다.
seq [옵션] [시작 숫자] [증가치] [끝 숫자]
- 옵션:
seq
명령어의 동작을 제어하는 옵션을 지정한다. 자세한 옵션은 아래에서 알아본다. - 시작 숫자: 시퀀스의 시작 숫자를 지정한다. (기본값은 1)
- 증가치: 시퀀스의 증가분을 지정한다. (기본값은 1)
- 끝 숫자: 시퀀스의 끝 숫자를 지정한다. 시작 숫자부터 이 숫자까지 시퀀스가 생성된다.
seq
명령어 옵션
seq
명령어는 다양한 옵션을 제공하여 시퀀스 생성을 제어할 수 있다. 주요 옵션들은 다음과 같다.
- -s, –separator=문자열: 시퀀스 간의 구분자를 지정. 기본값은 개행 문자(
\n
)이다. - -w, –equal-width[=길이]: 각 숫자의 출력 폭을 일정하게 유지한다. 지정된 길이로 설정하거나 기본값인 가장 긴 숫자의 자릿수로 설정할 수 있다.
- -f, –format=서식: 출력되는 숫자의 서식을 지정한다. printf 서식 지정자를 사용한다.
- -r, –reverse: 역순으로 시퀀스를 생성한다.
- -c, –comma: 시퀀스 간에 콤마를 추가한다.
이외에도 다양한 옵션이 있으며, man seq
명령어를 통해 자세한 정보를 확인할 수 있다.
seq
명령어 예제
예제 1: 기본적인 사용법
아래 예제는 1부터 5까지의 시퀀스를 생성하여 출력한다.
$ seq 1 5
1
2
3
4
5
예제 2: 시작 숫자와 끝 숫자 지정
아래 예제는 시작 숫자를 3으로, 증가분을 2로 하여 9까지의 홀수 시퀀스를 생성하여 출력한다.
$ seq 3 2 9
3
5
7
9
위 예제는 시작 숫자를 3으로, 증가분을 2로 지정하여 3부터 9까지의 홀수 시퀀스를 생성하여 출력합니다.
예제 3: 역순으로 생성
아래 예제는 5부터 1까지 역순으로 시퀀스를 생성하여 출력한다.
$ seq -r 5
5
4
3
2
1
위 예제는 5부터 1까지 역순으로 시퀀스를 생성하여 출력합니다.
예제 4: 구분자 지정
아래 예제는 1부터 10까지 3을 증가분으로 공백(” “)으로 구분하여 출력한다.
$ seq -s " " 1 3 10
1 4 7 10
예제 5: 서식 지정
아래 예제는 출력되는 숫자의 서식을 “num_숫자”로 지정하여 출력한다.
$ seq -f "num_%g" 1 3
num_1
num_2
num_3
예제 6: 정해진 횟수만큼 반복 수행하는 스크립트
아래 예제는 1부터 10까지 루프를 돌면서 횟수를 출력하고 횟수만큼 sleep 을 수행한다.
#!/usr/bin/env bash
for i in $(seq -s " " 10);do
## 실행할 명령어
echo "$i";
sleep $i;
done