2011-09-17 94 views
5

我正在使用grep,我想獲得我指定的字符串後的數據。我想要在我指定的字符串後面得到字符串。如果我grep「標籤:」我得到「標籤:藍色標籤:紅色標籤:綠色」。我想要得到的顏色。如果我說grep - 我得到所有的標籤。如果我說 - 它說(標準輸出)。任何想法?grep字符串後,我指定

回答

6

您可以使用sed來消除單詞標籤,例如

grep "label:" | sed s/label://g 
+0

...雖然'grep' [無用](http://www.iki.fi/era/unix/award.html#grep); 'sed -n'/ label:/ s /// gp'' – tripleee

2

grep是一個只能用於過濾文本行的工具。要做更復雜的事情,你可能需要一個更復雜的工具。

例如,sed這裏可以使用:

sed 's/.*label: \(.*\)/\1/' 

文字是這樣的...

label: blue 
llabel: red 
label: green label: yellow 

獲取變成這樣:

blue 
red 
yellow 

正如你所看到的,此sed命令僅返回搜索模式後面的內容,並且每個lin的多個匹配es不支持。