匹配第一个字符如果匹配删除整行

时间:2013-06-26 11:31:51

标签: regex windows batch-file cmd findstr

如果第一个字符被发现0或1整行应该被过滤掉,但是如果在行中的任何其他地方找到0或1则不应该采取任何行动。如果一些数字盯着像12,110,185这样的数字也不应该过滤掉。

例如

0    rdrk2v   rdrk2v   daily_ux   mediark4p 06/24/2013 04:29:02 
1    rdrk2v   rdrk2v   daily_ux   mediark4p 06/24/2013 04:29:02 
150  svrk2    svrk2    daily_ux   mediark2p 06/24/2013 05:52:15 
71   rdrk1p   std_11   daily_ux   mediark1p 06/24/2013 02:23:25 
196  evrk1p   std_110  daily_ux   masterrk1 06/24/2013 03:00:00 

第一行和第二行应该被过滤掉,txt文件应该只包含

150  svrk2    svrk2    daily_ux   mediark2p 06/24/2013 05:52:15 
71   rdrk1p   std_11   daily_ux   mediark1p 06/24/2013 02:23:25 
196  evrk1p   std_110  daily_ux   masterrk1 06/24/2013 03:00:00 

1 个答案:

答案 0 :(得分:2)

您可以使用findstr及其正则表达式:

>type file
0    rdrk2v   rdrk2v   daily_ux   mediark4p 06/24/2013 04:29:02
1    rdrk2v   rdrk2v   daily_ux   mediark4p 06/24/2013 04:29:02
150  svrk2    svrk2    daily_ux   mediark2p 06/24/2013 05:52:15
71   rdrk1p   std_11   daily_ux   mediark1p 06/24/2013 02:23:25
196  evrk1p   std_110  daily_ux   masterrk1 06/24/2013 03:00:00

>findstr /v "^[01][^0-9]" file
150  svrk2    svrk2    daily_ux   mediark2p 06/24/2013 05:52:15
71   rdrk1p   std_11   daily_ux   mediark1p 06/24/2013 02:23:25
196  evrk1p   std_110  daily_ux   masterrk1 06/24/2013 03:00:00