Bir anahtar kelimeyi sed kullanarak bir dize ile değiştirmek istiyorsanız sed, değiştirme dizenizi yorumlamak için çok uğraşır. Yedek dize, '/' karakteri gibi sed'in özel olduğunu düşündüğü karakterlere sahipse, elbette, yedek dizenizin sed'in nasıl hareket edeceğini söyleyen karakterlere sahip olmasını istemediğiniz sürece başarısız olur.
Ör:
VAR="hi/"
sed "s/KEYWORD/$VAR/g" somefile
Sed'e özel karakterler için değiştirme dizesini yorumlamamaya çalışmanın herhangi bir yolu var mı? Tek istediğim, bir dosyadaki bir anahtar kelimeyi, içeriğin ne olduğuna bakılmaksızın bir değişkenin içeriğiyle değiştirebilmektir.
sed(1)sadece ne aldığını yorumlar. Sizin durumunuzda, bunu bir kabuk enterpolasyonu yoluyla alır. İstediğiniz gibi yapamayacağınıza inanıyorum, ancak kılavuzu kontrol edin. Ben Perl ( sedçok daha zengin düzenli ifadeleri ile fena bir yedek yapar ) biliyorum, bir dize tam anlamıyla alınacak olduğunu belirtebilirsiniz, yine kılavuzu kontrol edin.
sedve özel olmamasını istiyorsanız , sadece ters eğik çizgi onları kaçmak.VAR='hi\/'böyle bir sorun çıkarmaz.