Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[Shell] 문자열 앞/뒤 자르기 Computer & Program

쉘 스크립트를 쓰며 문자열 앞이나 뒤를 자르고 싶은 경우가 있다.
wildcard를 사용하고 싶은 경우에 유용하게 사용할 수 있다.

다음 연산자는 wildcard로 매치된 부분을 제거한 나머지를 반환하는 연산자이다.
%는 문자열의 뒤에서부터 매칭하게 되고, #은 문자열의 앞에서부터 매칭하게 된다.
1개를 사용하면 첫번째 매치된 부분을 제거하고, 2개를 사용하면 매치된 가장 긴 부분을 제거한다.
${var%pattern}
${var%%pattern}
${var#pattern}
${var##pattern}


실제 예를 보자.
$ cat test.sh
IP='10.20.30.40'
echo ${IP}
echo ${IP%.*}       # % - 뒤에서 가장 짧은 매칭 제거
echo ${IP%%.*}    # %% - 뒤에서 가장 긴 매칭 제거
echo ${IP#*.}        # # - 앞에서 가장 짧은 매칭 제거
echo ${IP##*.}      # ## - 앞에서 가장 긴 매칭 제거

$ ./test.sh
10.20.30.40
10.20.30
10
20.30.40
40


- 참고
[쉘 스크립트] 쉘 문자열 조작

덧글

댓글 입력 영역

Google AdSense (text/image)