ไม่จำเป็นต้องวางฉลากไว้:aนอกคำแนะนำหลักและไม่-eจำเป็นต้องใช้ตัวเลือก ในที่สุด the /$/ฟุ่มเฟือย (ทุกบรรทัดมีอักขระ EOL)
การปรับปรุงคำตอบอื่น ๆ จะได้รับ
sed -i ':a; N; s/\n/ /; ta' file
ซึ่งจะชัดเจนกว่าถ้าเขียนดังนี้
sed -i ':a
N
s/\n/ /
ta' file
คำสั่งทำงานดังนี้:
N ต่อท้ายบรรทัดถัดไปกับพื้นที่รูปแบบ (หลายบรรทัด) ซึ่งมีบรรทัดปัจจุบันอยู่แล้ว
s/\n/ /แทนตัวอักษรขึ้นบรรทัดใหม่\nที่สร้างขึ้นโดยNมีช่องว่าง;
taไปบรรทัดต่อไปนี้สคริปต์ฉลาก:a ตราบใดที่ทดแทนในขั้นตอนที่ 2 ประสบความสำเร็จ , เช่นถ้าเปลี่ยนตัวที่เกิดขึ้นการดำเนินการกระโดดไปขั้นตอนที่ 1 โดยไม่ต้อง "กดปุ่ม" สิ้นสคริปต์เช่น โดยไม่ต้องอ่านบรรทัดของการป้อนข้อมูลอื่น
หมายเหตุดังต่อไปนี้
sedอ่านสายของแฟ้มใส่หนึ่งโดยหนึ่งในการสั่งซื้อที่เริ่มต้นจากสายที่ 1 ;
:a เป็นเพียงป้ายกำกับไม่ใช่คำสั่งที่จะดำเนินการ
N โดยหลักการแล้วจะดำเนินการในบรรทัดใดก็ได้ แต่
s/\n/ /(ในหลักการที่ดำเนินการบนบรรทัดใด ๆ ) จะประสบความสำเร็จในบรรทัดใด ๆ แต่สุดท้ายจะเป็นเช่นนั้น
taทำให้จุดสิ้นสุดของสคริปต์เข้าถึงได้เฉพาะเมื่อบรรทัดสุดท้ายของอินพุตถูกอ่าน (บรรทัดเดียวที่sล้มเหลว) ดังนั้น
- จะไม่มีการอ่านบรรทัดอินพุตเพิ่มเติมในพื้นที่รูปแบบหลังจากอ่านบรรทัดที่1ยกเว้นว่ามีการอ่านบรรทัดสุดท้ายแต่ไม่มีบรรทัดเพิ่มเติมที่จะอ่านและ
pคำสั่งimplicit จะถูกดำเนินการ
ดังนั้นโดยทั่วไปสคริปต์จะอ่านในบรรทัดที่ 1ของอินพุตและต่อท้ายบรรทัดต่อไปนี้ทีละหนึ่งทุกครั้งที่แทนที่บรรทัดใหม่ด้วยช่องว่าง; หลังจากบรรทัดสุดท้ายถูกต่อท้าย (และ\nเปลี่ยนเป็นช่องว่าง) Nไม่สามารถต่อท้ายบรรทัดใด ๆsล้มเหลวtaถูกข้ามไปถึงจุดสิ้นสุดของสคริปต์และpคำสั่ง rint โดยนัยจะถูกดำเนินการบนพื้นที่รูปแบบ looong 1 บรรทัดปัจจุบัน .
-iตัวเลือกทดแทนแฟ้มใส่fileกับพื้นที่รูปแบบ 1 เส้นทั้ง