鍍金池/ 教程/ Linux/ Sed分支
Sed字符串
Sed實用功能
Sed管理模式
sed環(huán)境設(shè)置
sed模式緩沖區(qū)
Sed循環(huán)
Sed模式范圍
Sed教程
Sed正則表達式
Sed分支
Sed基本語法
sed工作流程
Sed特殊字符
Sed基本命令

Sed分支

可以用t命令創(chuàng)建分支。 t 命令跳轉(zhuǎn)到標簽,只有在以前的替換命令是成功的。讓我們以前面的章節(jié)同樣的例子,但不是打印一個連字符(- ),現(xiàn)在我們印刷四連字符。下面的例子演示了 t 命令的用法。

[jerry]$ sed -n ' 
h;n;H;x 
s/\n/, / 
:Loop 
/Paulo/s/^/-/ 
/----/!t Loop 
p' books.txt 

當執(zhí)行上面的代碼,就會產(chǎn)生下面的結(jié)果。

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

我們已經(jīng)討論了在前面的章節(jié)中的第一個命令。第三個命令定義一個標簽循環(huán)。第四命令上前置的連字符( - ),如果該行包含字符串“Paulo”和t命令重復這一過程,直到有四個連字符位于行的開頭。

為了提高可讀性,每個 sed 命令寫在一個單獨的行。否則,我們可以寫一行一個 sed 如下:

[jerry]$ sed -n 'h;n;H;x; s/\n/, /; :Loop;/Paulo/s/^/-/; /----/!t Loop; p' books.txt 

當執(zhí)行上面的代碼,就會產(chǎn)生下面的結(jié)果。

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

上一篇:Sed特殊字符下一篇:Sed實用功能