文字列置換:すべての出現


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"で騙すことはできません

ところで、私は既存の「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.