Bash에서는 다양한 문자열 조작을 할 수 있는데,
정리되거나 통일성이 적어서 찾기가 쉽지 않다.
다음의 링크에서 Bash 문자열 조작이 잘 정리되어 있으며, 아래는 많이 사용하는 삭제를 예로 가져왔다.
https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/string-manipulation.html
문자열조각 삭제(Substring Removal)
- ${string#substring}
-
$string의 앞 부분에서부터 가장 짧게 일치하는 $substring을 삭제.
- ${string##substring}
-
$string의 앞 부분에서부터 가장 길게 일치하는 $substring을 삭제.
stringZ=abcABC123ABCabc # |----| # |----------| echo ${stringZ#a*C} # 123ABCabc # 'a'와 'C' 사이에서 가장 짧게 일치되는 부분을 삭제. echo ${stringZ##a*C} # abc # 'a'와 'C' 사이에서 가장 길게 일치되는 부분을 삭제.
- ${string%substring}
-
$string의 뒷 부분에서부터 가장 짧게 일치하는 $substring을 삭제.
- ${string%%substring}
-
$string의 뒷 부분에서부터 가장 길게 일치하는 $substring을 삭제.
stringZ=abcABC123ABCabc # || # |------------| echo ${stringZ%b*c} # abcABC123ABCa # $stringZ의 뒷 부분부터 계산해서 'b'와 'c' 사이에서 가장 짧게 일치하는 부분을 삭제. echo ${stringZ%%b*c} # a # $stringZ의 뒷 부분부터 계산해서 'b'와 'c' 사이에서 가장 길게 일치하는 부분을 삭제.