Bir çok satırlı dizeyi başka bir çok satırlı dize ile değiştirerek güncellemek istediğim birkaç dosya var. Çizgileri boyunca bir şey:
* Some text,
* something else
* another thing
Ve bununla değiştirmek istiyorum:
* This is completely
* different text
Sonuç olarak, değiştirildikten sonra ilk metin bloğunu içeren dosya şimdi ikinci dizeyi içerecektir (dosyanın geri kalanı değişmez).
Sorunun bir kısmı, dosya sisteminde güncellenecek dosyaların listesini bulmak zorunda olmasıdır. Bunun için grep kullanabilirsiniz sanırım (yine de çok satırlı dizeleri ile yapmak o kadar kolay değil) sonra sed belki boru?
Bunu yapmanın kolay bir yolu var mı? Sed bir seçenek ama garip çünkü \ n vb eklemek zorunda. "Bu dosyadan girdi almak, bu dosyalarda eşleşen, sonra bu diğer dosyanın içeriği ile değiştirmek" demenin bir yolu var mı? Gerekirse python kullanabilirim, ancak hızlı ve basit bir şey istiyorum, bu yüzden mevcut bir yardımcı program varsa, daha çok kendi komut dosyamı yazmaktan (bunu nasıl yapacağımı biliyorum) kullanmak istiyorum.
some text, something else another thing
birden fazla çizgiyi kaplayıp kaplamamasıyla eşleşmek mi istiyorsunuz ? Yoksa sadece eşleşmek some text,\nsomething else\nanotherthing
mi istiyorsun ?