การทดแทนในไฟล์ข้อความ ** ที่ไม่มี ** การแสดงออกปกติ
ฉันต้องการแทนที่ข้อความภายในไฟล์ข้อความด้วยการแทนที่ โดยปกติฉันจะทำอะไรเช่น sed -i 's/text/replacement/g' path/to/the/file ปัญหาคือทั้งสองtextและreplacementเป็นสตริงที่ซับซ้อนที่มีเครื่องหมายขีดกลาง, เครื่องหมายทับ, blackslashes, คำพูดและอื่น ๆ ถ้าฉันหลบหนีอักขระที่จำเป็นทั้งหมดภายในtextสิ่งนั้นจะกลายเป็นอ่านไม่ได้ ในขณะที่ฉันไม่ต้องการพลังของการแสดงออกปกติ: ฉันแค่ต้องการแทนที่ข้อความอย่างแท้จริง มีวิธีการแทนที่ข้อความโดยไม่ใช้นิพจน์ทั่วไปด้วยคำสั่ง bash หรือไม่? มันค่อนข้างจะเป็นเรื่องเล็กน้อยที่จะเขียนสคริปต์ที่ทำสิ่งนี้ แต่ฉันคิดว่าควรจะมีบางสิ่งอยู่แล้ว