[Shell Script] 문자열 뒤에서 자르기
March 01, 2024
문자열을 뒤에서 원하는 만큼 자르는 방법에 대해서 알아보겠습니다.
이 글의 예제들은 Ubuntu 20.04에서 Bash shell을 사용하여 작성되었습니다.
1. 뒤에서 원하는 문자 개수만큼 문자열 자르기
아래 예제는 문자열 뒤에서 length
길이만큼 자릅니다.
${string:(-length)}
: 문자열 뒤에서 length 만큼 잘라서 리턴,(string 문자열의 길이 - length)
Index 부터 마지막까지 문자열 자르기
#!/bin/bash
string="Hello, World"
length=5
substring=${string:(-length)}
echo "$substring"
Output:
$ bash example.sh
World
다른 예제
만약 뒤에서 5개 문자부터 3개 문자를 자르고 싶을 때는, 아래와 같이 구현하면 됩니다.
#!/bin/bash
string="Hello, World"
echo "${string:(-5):3}"
Output:
$ bash example.sh
Wor
substring 문법
참고로 위에서 사용된 "${STR:offset:length}"
는 STR의 offset부터 length 길이만큼 자릅니다.
- offset은 자르려고 하는 문자열의 시작 index이며, length에는 offset부터 자르고 싶은 길이
echo "${STR:offset:length}"
2. rev와 cut을 이용하여 뒤에서 자르기
아래와 같이 rev와 cut을 사용하여 뒤에서 원하는 길이만큼 문자열을 자를 수 있습니다.
cut
은 문자열 앞에서 원하는 길이만큼 문자열을 자를 수 있음rev
로 문자열의 순서를 뒤집고,cut
으로 자르고, 다시rev
로 뒤집으면 뒤에서 원하는 길이만큼 자를 수 있음
#!/bin/bash
string="Hello, World"
length=5
reversed=$(echo "$string" | rev)
substring=$(echo "$reversed" | cut -c 1-$length | rev)
echo "$substring"
Output:
$ bash example.sh
World