'bash'에 해당되는 글 1건

  1. 2007.02.03 부분 문자열 가져오기. 2

부분 문자열 가져오기.

|
adadad.afs.1231.qz라는 문자열에서 중간의 1231 을 가져오는 방법.


우선 가장 간단하게 생각할 수 있는 방법.

1. 부분 문자열 가져오기.

STR=adadad.afs.1231.qz
STR=${STR:11:4}

11번째 문자부터 4개를 가져오는 코드이다.

빼오려는 문자열의 길이와 위치가 항상 같다면 이 방법이 제일 간단할 듯.

하지만 숫자가 자리수가 바껴서 길이가 달라지면 저런 방법으로는 할 수 없다.


그래서 패턴을 사용했다.

2. 패턴을 사용해서 중간 값 가져오기.

STR=adadad.afs.1231.qz
STR=${STR%.*}
echo ${STR##*.}

두번째 줄에서 뒤에서부터 처음에 나온 . 이후는 잘라내고,

세번째 줄에서 앞에서부터 마지막에 나온 . 이전을 잘라낸다.


문자열을 잘라내는 다른 방법으로는 IFS(Internal Field Separator) 를 점(.)으로 설정해서,

점(.) 단위로 문자열을 잘라낼 수 있다.

기타. IFS 를 사용해서 반복문을 실행.

STR=adadad.afs.1231.qz
IFS=.
for i in $STR ; do
  echo $i
done
IFS=" "

위의 예제는 . 단위로 문자열을 잘라서 화면에 뿌려주는 예제이다.

....소스를 어디서 주워온지는 잊어버린지 오래이고;;;


자세한 레퍼런스는 귀찮으니 생략;;;

혹시 심심하면 나중에 추가 할 수도~

그리고, 틀렸거나 더 좋은 방법이 있을 수 있으니 있으면 연락 바람 -_-/
And
prev | 1 | next