ฉันมีไฟล์จำนวนหนึ่งที่ฉันต้องการอัปเดตโดยแทนที่สตริงหลายบรรทัดหนึ่งด้วยสตริงอื่นหลายบรรทัด บางสิ่งบางอย่างตาม:
* Some text,
* something else
* another thing
และฉันต้องการแทนที่ด้วย:
* This is completely
* different text
ผลที่ตามมาก็คือหลังจากการแทนที่ไฟล์ที่มีบล็อกแรกของข้อความตอนนี้จะมีสตริงที่สอง (ส่วนที่เหลือของไฟล์ไม่เปลี่ยนแปลง)
ส่วนหนึ่งของปัญหาคือฉันต้องค้นหารายชื่อไฟล์ที่จะอัพเดทในระบบไฟล์ ฉันเดาว่าฉันสามารถใช้ grep สำหรับสิ่งนั้นได้ (แม้ว่าจะไม่ใช่เรื่องง่ายที่จะทำกับสตริงหลายบรรทัด) จากนั้นลองใช้ greid หรือไม่?
มีวิธีง่าย ๆ ในการทำเช่นนี้? Sed เป็นตัวเลือก แต่มันน่าอึดอัดใจเพราะฉันต้องเพิ่ม \ n ฯลฯ มีวิธีที่จะพูดว่า "รับอินพุตจากไฟล์นี้จับคู่กับไฟล์เหล่านั้นจากนั้นแทนที่ด้วยเนื้อหาของไฟล์อื่นนี้" หรือไม่? ฉันสามารถใช้ python ถ้าจำเป็น แต่ฉันต้องการบางสิ่งที่รวดเร็วและง่ายดายดังนั้นหากมียูทิลิตีที่มีอยู่ฉันอยากจะใช้สิ่งนั้นมากกว่าเขียนสคริปต์ของตัวเอง (ซึ่งฉันรู้วิธีการทำ)
some text, something else another thing
ว่ามีหลายบรรทัดหรือไม่ หรือคุณต้องการจับคู่some text,\nsomething else\nanotherthing
เท่านั้น