2014-02-05 309 views
-2

我需要做這樣的事情正則表達式來之前刪除一切,包括正則表達式

輸入:

text text text text text text text Total number = 2 remaining remaining remaining 
text text text text text text Total number = 10 remaining remaining 
text text text text text text Total number = 3 remaining remaining

什麼,我試圖做的是提取後一切

Total number = x
所以,

總數= x也應該去掉,總之第一個「剩餘」部分應該是第一個 這個詞在每一行中,就像這樣:

Ou tput的:

remaining remaining remaining 
remaining remaining 
remaining remaining
+0

只能匹配正則表達式,你不能刪除/替換。這取決於你使用的是什麼語言。 – tenub

+0

簡單來說:'。* *總數= [\ d] +'? – MElliott

+0

對不起,我試圖做一個bash腳本來做到這一點,我試過sed'0,/ /d'inputfile>輸出文件,它正在刪除日誌文件中的所有內容,包括正則表達式本身...現在我需要類似於在每行日誌文件中執行的操作... – skymario84

回答

1

用awk:

awk -F 'Total number = [0-9]+ *' '{print $2}' file 
remaining remaining remaining 
remaining remaining 
remaining remaining 
+0

謝謝,真的很快,像一個魅力,最好的問候... – skymario84

+0

不客氣,很高興它解決了。 – anubhava

1

沒有指定的語言,但在這裏有雲:

的sed:

s/^.*Total number = [[:digit:]]*[[:space:]]*// 

AWK:

{ gsub("^.*Total number = [[:digit:]]*[[:space:]]*", "") ; print } 
0

使用此正則表達式

.*Total number =\s*\d+\s* (.*) 

Demo