ฉันมีโครงการ Visual Studio ซึ่งพัฒนาขึ้นในเครื่อง ไฟล์รหัสจะต้องมีการปรับใช้กับเซิร์ฟเวอร์ระยะไกล ปัญหาเดียวคือ URLsthey บรรจุซึ่งมีการกำหนดค่าตายตัว
โครงการมี URL เช่น? page = หนึ่ง สำหรับการเชื่อมโยงที่จะถูกต้องบนเซิร์ฟเวอร์นั้นจะต้องได้/ หน้า / หนึ่ง
ฉันตัดสินใจแทนที่ URLS ทั้งหมดใน codefiles ด้วย sed ก่อนการปรับใช้ แต่ฉันติดอยู่ที่เครื่องหมายทับ
ฉันรู้ว่านี่ไม่ใช่วิธีแก้ปัญหาที่สวย แต่มันง่ายที่จะช่วยฉันประหยัดเวลาได้มาก จำนวนสตริงทั้งหมดที่ฉันต้องแทนที่น้อยกว่า 10 จำนวนไฟล์ทั้งหมดที่ต้องถูกตรวจสอบคือ ~ 30
ตัวอย่างที่อธิบายสถานการณ์ของฉันอยู่ด้านล่าง:
คำสั่งที่ฉันใช้:
sed -f replace.txt < a.txt > b.txt
replace.txt ซึ่งมีสตริงทั้งหมด:
s/?page=one&/pageone/g
s/?page=two&/pagetwo/g
s/?page=three&/pagethree/g
a.txt:
?page=one&
?page=two&
?page=three&
เนื้อหาของ b.txt หลังจากฉันเรียกใช้คำสั่ง sed ของฉัน:
pageone
pagetwo
pagethree
สิ่งที่ฉันต้องการให้ b.txt มี:
/page/one
/page/two
/page/three