2015-09-09 118 views
0

我試圖檢索兩個字符串之間的值,這兩個字符串在單行中存在多個時間。使用sed或awk檢索兩個字符串之間的值

這裏是我的了:

time="1441491171" <DISP>something</DISP><DISP>stuff</DISP><DISP>possible</DISP> 

對於這些字符串,因爲它可能具有其他字符串更改順序...

我試圖讓這些數值都低於:

"1441491171" something stuff possible 

非常感謝您的幫助, AL。

回答

2

可以使用以下sed命令:

sed 's/time=//;s/<\/*DISP>/ /g' 

這些是兩個命令,由分號分隔:

  • s/time=//去除time=前綴
  • s/<\/*DISP>/ /g去除<DISP></DISP>標籤由空間
+0

非常感謝你:) – user2335924

+0

歡迎您! – hek2mgl

0

不同的形式給出了選擇匹配,而不是刪除不想要的字符串:

$ grep -oP 'time=\K"\d+"|(?<=DISP>)\w+(?=</DISP)' file 
"1441491171" 
something 
stuff 
possible 

$ grep -oP 'time=\K"\d+"|(?<=DISP>)\w+(?=</DISP)' file |tr '\n' ' ' 
"1441491171" something stuff possible 
相關問題