ฉันมีไฟล์ข้อความขนาดใหญ่ที่มีสตริงคั่นด้วยช่องว่าง (2-5) สตริงสามารถมี "" "หรือ" - " ฉันต้องการแทนที่พูดช่องว่างที่สองด้วยท่อ
วิธีที่ดีที่สุดที่จะไปคืออะไร?
ใช้ sed ฉันคิดเรื่องนี้:
sed -r 's/(^[a-z'-]+ [a-z'-]+\b) /\1|/' filename.txt
ความคิดอื่น ๆ / ดีกว่า / เรียบง่ายขึ้น?
sed
ไฟล์ข้อมูล: "หมายเหตุ: มาตรฐาน POSIX ไม่ได้ระบุสิ่งที่ควรเกิดขึ้นเมื่อคุณผสมการg' and NUMBER modifiers, and currently there is no widely agreed upon meaning across
ใช้งานของ sed สำหรับ GNU` sed 'การโต้ตอบถูกกำหนดให้เป็น: ละเว้นการจับคู่ก่อนที่ NUMBER จากนั้นจับคู่และแทนที่ทั้งหมด จับคู่จาก NUMBER ในวันที่ "