Print
카테고리: [ Operating System ]
조회수: 78033

 

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' 사이에서 가장 길게 일치하는 부분을 삭제.