OS/bash

bash string operation & pattern match

Sh.TK 2018. 2. 27. 13:30
참조: http://blog.naver.com/PostView.nhn?blogId=mmarine&logNo=70096716330&parentCategoryNo=&categoryNo=15&viewDate=&isShowPopularPosts=false&from=postView
추가: http://www.linuxjournal.com/article/8919

Pattern Matching

 표현

의미 

 ${#valiable}

 valiable의 길이 반환

 ${variable#pattern}

 pattern이 variable의 앞부분이 일치하면 가장 짧은 부분을 제거하고 나머지를 반환

 ${variable##pattern}

 pattern이 variable의 앞부분과 일치하면 가장 긴 부분을 제거하고나머지를 반환

 ${variable%pattern}

 pattern이 variable의 뒷부분과 일치하면 가장 짧은 부분을 제거하고나머지를 반환

 ${variable%%pattern}

 pattern이 variable의 뒷부분과 일치하면 가장 긴 부분을 제거하고나머지를 반환

 ${variable/pattern/string}

 일치하는 가장 긴 부분을 string으로 대체, 한번

 ${variable//pattern/string}

 일치하는 가장 긴 부분을 string으로 대체, 전체


String Operations in Bash

 표현

의미 

 ${varname:-word}

 varname이 존재하고 null이 아니면 그 값을 반환, 아니면 word 반환

 ${varname:+word}

 varname이 존재하고 null이 아니면 word를 반환, 아니면 null을 반환 

 ${varname:=word}

 varname이 존재하고 null이 아니면 그 값을 반환, 아니면 word 반환

 varname에 word로 대체

 ${varname:?message}

 varname이 존재하고 null이 아니면 그 값을 반환

아니면 varname을 출력하고 message를 출력 (Error)

 ${string:position}

 string의 처음에서 position만큼 제거후 나머지 반환

 ${string:position:length}

 string의 처음에서 position만큼 제거후 length만큼 반환