我有一个类似的文件:
None44 DET20_22526;size=4; DET20_39906;size=2; DEX29.h_40767;size=4; DEX27.h_779;size=6757;
目标:
None44 DET20_22526 DET20_39906 DEX29.h_40767 DEX27.h_779
只需删除“; size = * *;
即可size =之后的数字范围为1-6757(最多)。
我一直在努力:
sed 's/;size=*;//g'
我对sed和regX的有限知识限制了我。
有人可以指出如何删除所有之间;包括;'s
或
如何让我的sed意识到我能用英语表达的内容......但是还无法编码:(
答案 0 :(得分:3)
你可以尝试:
sed 's/;size=[0-9]*;//g'
这个正则表达式意味着什么?
...
/ ...
/ g代表:用第二个表达式替换第一个表达式的每个匹配;size=[0-9]*;
,它应该被分解为:
;size=
,后跟0-9
中的任何数字的零个或多个出现,后跟;
g
是一个选项,告诉sed
匹配所有匹配的部分,而不是停在第一个