dize ikameleri: tüm olaylar


13

Basit bir soru, ama cevabı bulamıyorum. zsh belgeleri beni eziyor :-(

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

$ z thethethe
THEthethe

...

Yalnızca ilk olay yerine tüm 'the' kelimelerinin 'THE' ile değiştirilmesini nasıl sağlayabilirim ? Zsh ile örnekler bulmak en zor gibi görünen en kolay şeydir.

Yanıtlar:



6

Bu işi yapmalıdır:

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

3

Orada, basit olmalıydı:

echo ${1//the/THE}

... çift eğik çizgi yapar ve ": s" ile dalga geçemezsiniz.

BTW, mevcut için 'StackExchange' sitelerine teşekkür etmek istiyorum. Biri bir soru sorabilecek yerlerin her biri, bunlar en iyisidir - sadece neredeyse her zaman cevap almakla kalmaz, aynı zamanda bu cevaplar her zaman en yüksek kalitededir.


1

// geri kalanına dokunmadan yalnızca belirli bir kelimeyi tüm büyük harflerle değiştirmeye çalışıyorsanız mükemmel çalışır. Her şeyi büyük harfe dönüştürmeye çalışıyorsanız, değişken üzerinde ": u" kullanabilirsiniz

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

Zsh genişletme ve değiştirme kılavuzunda hangi değiştiricilere sahip olduğunuzu doğrulayabilirsiniz

man zshexpn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.