개발관련/other

Bash의 문자열에서 고정 접두사 / 접미사 제거

Rateye 2021. 11. 15. 10:59
728x90
반응형
질문 : Bash의 문자열에서 고정 접두사 / 접미사 제거

bash 스크립트에는 문자열과 접두사 / 접미사가 있습니다. 원래 문자열에서 접두사 / 접미사를 제거해야합니다.

예를 들어 다음과 같은 값이 있다고 가정 해 보겠습니다.

string="hello-world"
prefix="hell"
suffix="ld"

다음 결과를 얻으려면 어떻게해야합니까?

result="o-wor"
답변

$ foo=${string#"$prefix"}
$ foo=${foo%"$suffix"}
$ echo "${foo}"
o-wor

이는 매뉴얼의 셸 매개 변수 확장 섹션에 설명되어 있습니다.

${parameter#word}
${parameter##word}

단어가 확장되어 패턴을 생성하고 아래 설명 된 규칙에 따라 일치됩니다 (패턴 일치 참조). 패턴이 확장 된 매개 변수 값의 시작과 일치하는 경우 확장 결과는 가장 짧은 일치 패턴 ( # 케이스) 또는 가장 긴 일치 패턴 ( ## 케이스)이 삭제 된 매개 변수의 확장 값입니다. […]

${parameter%word}
${parameter%%word}

단어가 확장되어 패턴을 생성하고 아래 설명 된 규칙에 따라 일치됩니다 (패턴 일치 참조). 패턴이 확장 된 매개 변수 값의 후행 부분과 일치하는 경우 확장 결과는 가장 짧은 일치 패턴 ( % 케이스) 또는 가장 긴 일치 패턴 ( %% 케이스)이 삭제 된 매개 변수 값입니다. […]

출처 : https://stackoverflow.com/questions/16623835/remove-a-fixed-prefix-suffix-from-a-string-in-bash
728x90
반응형