2013-06-20 44 views
0

如何做到這一點的sed正則表達式

SET A 
B 
C 
D 
SET E 
F 
G 
H 

我需要一個sed命令返回我子項目A.項目A和E可以在列表中進行交換,因此d可以在年底也字符串。

+0

'sed'一行一行地替換,所以不是你想要的工具。考慮看看'awk',而不是shell腳本或任何編程語言。 –

回答

2

使用sed命令的地址部分來匹配區域。在這種情況下,從以「SET A」開始的行開始到以SET開頭的行開始打印以空格開頭的行。

$ echo -e "SET A\n B\n C\n D\nSET E\n F\n G\n H\n" | sed -n '/^SET A/,/^SET/{ 
/^ /p 
}' 
B 
C 
D 
+0

正如我寫的,SET A和SET E可以在列表中交換。它的工作原理,謝謝。 – Ladiko