Development/Bash Shell script

[BASH Shell ] 문자열 길이 구하기

louky 2018. 9. 18. 10:51
반응형

[BASH Shell ] 문자열 길이 구하기 

 

 

역시나 내 기억은 좋지 않으니 적어둔다.... 

 

Bash shell script에서 문자열의 길이를 구하는 방법이다. 

 

먼저 구하고자 하는 문자열을 변수로 선언한다. 

 

 

▩ 문자열 길이 구하는 방법

 

  • 변수 선언  
 prompt$ VAR="Strings length"

 

방법 1) $(#변수명)

 

$ echo "${#VAR}"
14

 

방법 2) expr length "${변수명}"

 

$ expr length "${VAR}"
14

 

방법 3) awk 

 

$ echo "${VAR}" | awk '{print length}'
14

 

 

 

 

 

방법 1) $(#변수명) 방식 응용

 

  • 변수의 전체 문자열 길이 구하기( 공백도 문자열 길이에 포함된다.)
$ echo "${#VAR}"
14

 

 

  • 특정 길이만큼만 출력하기

 

USAGE) ${변수명:시작위치:출력갯수}

ex) ${VAR:0:3}

          |   | 문자열 갯수

  |     시작위치

   변수명 

 

예를 들어 위의 문자열 중  "Stri" 4자리만 출력하고자 할 경우 

 

$ echo "${VAR:0:4}"
Stri

 

맨 첫자리 이후부터 4자리만 출력하고자 할 경우("S"제외하고나서 부터 4자리 출력)

 

$ echo "${VAR:1:4}"
trin

 

 

  • 앞에서부터 특정 길이 만큼 제외하고 출력하기

 

USAGE) ${변수명:제외문자열길이}

ex) ${VAR:3}

          |     문자열 제외 갯수

    변수명 

 

 

 $ echo "${VAR:4}"
 ngs length

 

 맨 앞 자리에서부터 4번째 위치의 자리를 제외하고 출력한다. 

 

  • 뒤에서부터 특정 길이 만큼 제외하고 출력하기

USAGE) ${변수명:[공백]-출력문자열길이}

ex) ${VAR: -3}

          |   문자열 길이 

    변수명 

 

 

$ echo "${VAR: -4}"
ngth

 

 뒤에서부터 4번째 위치의 자리까지만 출력한다. 

 

 

주의 : 음수부호(-)앞에 공백이 있어야 하며, 없을 경우 변수 전체를 출력한다

$ echo "${VAR:-4}"
Strings length

 

 

반응형