2015-09-09 80 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 
相关问题