반달가면 이글루에서 백업 - bahndal.egloos.com/502461
연속적인 수를 생성해 주는 seq 명령에서 유용한 옵션들을 정리해 두기로.
일단 seq 명령에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로
아래의 예시들을 참고하자.
# 기본 명령: 2에서 4까지 생성하는 예시
seq 2 4
2
3
4
한줄에 하나씩 출력하지 않고 특정한 구분자(separator)를 사용하고 싶다면 -s 옵션을 이용하면 된다.
# 구분자를 콜론으로 변경: -s 옵션
seq -s ":" 2 5
2:3:4:5
구분자를 탭으로 변경하고 싶다면 echo 명령에서 -e 옵션을 사용. 따옴표에 유의하자. echo 부분을 역따옴표(`)로 감싼 후 이것을 다시 따옴표(")로 감싸주어야 한다.
# 구분자를 탭으로 변경
seq -s "`echo -e '\t'`" 2 5
2 3 4 5
출력값의 자리수를 맞추고 싶다면 -w 옵션을 사용하면 된다. 가장 긴 출력의 자리수에 맞춰서 앞에 0을 추가해 준다. 아래의 예시를 보자.
# 자리수 맞춤
seq -w 8 10
08
09
10
# 9에서 10까지 0.5 간격으로
seq -w 9 0.5 10
09.0
09.5
10.0
출력 형식을 정하고 싶다면 -f 옵션을 사용. -f 옵션과 -w 옵션은 같이 사용할 수 없으며 둘 중 하나만 사용해야 한다. -f 옵션에서는 C언어의 printf 형식을 사용할 수 있는데, 전부 다 쓸 수 있는 것은 아니고 %e, %f, %g 정도가 가능한 듯. 아래의 예시를 보자.
# %.2f: 소수점 아래 2자리까지 출력, 2부터 3까지 0.5 간격으로
# 정수부분만 출력하고 싶다면 %.0f 사용
seq -f "the number is %.2f" 2 0.5 3
the number is 2.00
the number is 2.50
the number is 3.00
# %e: 지수표현으로 출력, 200부터 300까지 50 간격으로
seq -f "the number is %.2e" 200 50 300
the number is 2.00e+02
the number is 2.50e+02
the number is 3.00e+02
# %g: 부동소수점(%f) 또는 지수표현(%e)중 출력값 길이가 짧은 쪽으로 선택해서 출력
seq -f "the number is %g" 2 0.5 3
the number is 2
the number is 2.5
the number is 3
'bash script' 카테고리의 다른 글
[bash: date] 파일을 마지막으로 수정한 날짜/시간 확인 (0) | 2021.03.03 |
---|---|
[bash: echo, bc] 진법 변경(2진수/16진수 변환 등) (0) | 2021.02.19 |
[bash: grep] 특정 문자열이 포함된 파일의 이름 찾기 (0) | 2021.01.28 |
[bash: sleep] 1초 미만으로 쉬기 (0) | 2021.01.14 |
[bash: mktemp] 안전하게 임시 파일/디렉토리 만들기 (0) | 2021.01.06 |