Editor Stream - Cabang
Cabang dapat dibuat menggunakan perintah t. Itutperintah melompat ke label hanya jika perintah pengganti sebelumnya berhasil. Mari kita ambil contoh yang sama seperti pada bab sebelumnya, tetapi alih-alih mencetak satu tanda hubung (-), sekarang kita mencetak empat tanda hubung. Contoh berikut mengilustrasikan penggunaan filet perintah.
[jerry]$ sed -n '
h;n;H;x
s/\n/, /
:Loop
/Paulo/s/^/-/
/----/!t Loop
p' books.txt
Jika kode diatas dijalankan maka akan menghasilkan hasil sebagai berikut.
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
Dalam contoh di atas, dua perintah pertama sudah cukup jelas. Perintah ketiga mendefinisikan labelLoop. Perintah keempat menambahkan tanda hubung (-) jika baris berisi string "Paulo" dant Perintah mengulangi prosedur sampai ada empat tanda hubung di awal baris.
Untuk meningkatkan keterbacaan, setiap perintah SED ditulis pada baris terpisah. Jika tidak, kita dapat menulis SED satu baris sebagai berikut:
[jerry]$ sed -n 'h;n;H;x; s/\n/, /; :Loop;/Paulo/s/^/-/; /----/!t Loop; p' books.txt
Jika kode diatas dijalankan maka akan menghasilkan hasil sebagai berikut.
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