Bir metin dosyasının içindeki bazı metinlerin yerine yenisini kullanmam gerekiyor. Genellikle böyle bir şey yapardım
sed -i 's/text/replacement/g' path/to/the/file
Sorun hem olmasıdır text
ve replacement
böylece tire, eğik çizgi, blackslashes, tırnak ve içeren karmaşık dizelerdir. Eğer içindeki tüm gerekli karakterlerden kaçarsam text
, o şey hızlıca okunamaz hale gelir. Öte yandan, düzenli ifadelerin gücüne ihtiyacım yok: Sadece metni tam anlamıyla değiştirmem gerekiyor.
Metin değişikliğini yapmak için bir yolu var mı olmadan bazı kabuk komutuyla normal ifadeler kullanarak?
Bunu yapan bir senaryo yazmak oldukça önemsiz olurdu, ama zaten orada bir şeyler olması gerektiğini düşündüm.
bash
her zaman Microsoft Word ile birlikte gelen sistemler ? ;) Hayır sadece şaka. OP, uzak bir makinede veya bir grup dosya için bunu yapmak isteyebilir.
sed
muhtemelen tüm anahtarları ve platform farklılıkları dikkate beyhude bir çaba olan.
find and replace all