ตัวแก้ไขสตรีม - สาขา
สามารถสร้างสาขาได้โดยใช้คำสั่ง t tคำสั่งจะข้ามไปที่เลเบลก็ต่อเมื่อคำสั่งการแทนที่ก่อนหน้านี้สำเร็จ ให้เราใช้ตัวอย่างเดียวกับในบทที่แล้ว แต่แทนที่จะพิมพ์ยัติภังค์ (-) ตัวเดียวตอนนี้เราพิมพ์ยัติภังค์สี่ตัว ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้งานt คำสั่ง
[jerry]$ sed -n '
h;n;H;x
s/\n/, /
:Loop
/Paulo/s/^/-/
/----/!t Loop
p' books.txt
เมื่อโค้ดด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังต่อไปนี้
A Storm of Swords, George R. R. Martin
The Two Towers, J. R. R. Tolkien
----The Alchemist, Paulo Coelho
The Fellowship of the Ring, J. R. R. Tolkien
----The Pilgrimage, Paulo Coelho
A Game of Thrones, George R. R. Martin
ในตัวอย่างข้างต้นคำสั่งสองคำแรกสามารถอธิบายได้ด้วยตนเอง คำสั่งที่สามกำหนดเลเบลLoop. คำสั่งที่สี่นำหน้ายัติภังค์ (-) หากบรรทัดมีสตริง "Paulo" และt คำสั่งทำซ้ำขั้นตอนจนกว่าจะมีขีดกลางสี่ตัวที่จุดเริ่มต้นของบรรทัด
เพื่อปรับปรุงความสามารถในการอ่านคำสั่ง SED แต่ละคำสั่งจะถูกเขียนในบรรทัดแยกกัน มิฉะนั้นเราสามารถเขียน SED แบบซับเดียวได้ดังนี้:
[jerry]$ sed -n 'h;n;H;x; s/\n/, /; :Loop;/Paulo/s/^/-/; /----/!t Loop; p' books.txt
เมื่อโค้ดด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังต่อไปนี้
A Storm of Swords, George R. R. Martin
The Two Towers, J. R. R. Tolkien
----The Alchemist, Paulo Coelho
The Fellowship of the Ring, J. R. R. Tolkien
----The Pilgrimage, Paulo Coelho
A Game of Thrones, George R. R. Martin