문자열 대체 : 모든 경우


13

간단한 질문이지만 답을 찾을 수 없습니다. zsh 문서가 나를 압도합니다 :-(

function z ()
{
  echo ${1:s/the/THE}
}

$ z thethethe
THEthethe

...

첫 번째 항목뿐만 아니라 모든 'the'를 'THE'로 바꾸 려면 어떻게 해야합니까? zsh를 사용하면 예제를 찾기가 가장 어려운 것 같습니다.

답변:



6

이것은 일을해야합니다 :

VARIABLE=thethethe
echo ${VARIABLE//the/THE}
THETHETHE

3

Thereyago는 간단해야했습니다.

echo ${1//the/THE}

... 이중 슬래시가 수행하므로 ": s"로 바보가 될 수 없습니다.

BTW, 기존의 'StackExchange'사이트에 감사드립니다. 거의 모든 장소에서 질문을 할 수 있습니다. 이들은 가장 훌륭합니다. 거의 항상 답변을 얻을 수있을뿐만 아니라 그 답변은 항상 최고 품질입니다.


1

// 나머지 단어는 그대로 둔 채 특정 단어를 모든 대문자로 바꾸려고 할 때 완벽하게 작동합니다. 모든 것을 대문자로 변환하려는 경우 변수에 ": u"를 사용할 수 있습니다

SOME_ENV_VALUE='thethethe'
echo $SOME_ENV_VALUE:u // outputs: THETHETHE

zsh 확장 및 대체 매뉴얼에서 사용 가능한 수정자를 확인할 수 있습니다.

man zshexpn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.