ตัวแก้ไขสตรีม - สาขา

สามารถสร้างสาขาได้โดยใช้คำสั่ง 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