1

我有一个脚本可以搜索日志文件并找到一串字符:即“[501005]”,不带引号。在某些行中,该字符串后面紧跟一个变量词,即“[501005]RF”。在某些行中,字符串后跟两个空格,然后是一个可变数字,即“[501005] 02”。我只需要没有空格的行。我不能只搜索我的字符串后跟另一个特定的字符串,因为有太多的可能性。我得到错误使用

findstr /i /v "]  " /c:"[501005" *inputfile* > *outputfile*

如果我删除 /v "] " 参数,我会得到所有包含我的字符串的行,所以我知道搜索有效。我唯一的挂断是消除不需要的线路。这是一个示例(如您所见,行数也是可变的):

2013/10/30 00:04:26  [501005]INT_L3_ATCS  010.1.11 (28b)  TX  29 bytes
2013/10/30 00:04:26  [501005]  02 8B 25 00 60 00 AE 73 4A 5A 1A A5 A2 A2 23 4A 
2013/10/30 00:04:26  [501005]  A3 55 A1 00 34 02 02 12 48 03 00 00 08 
2013/10/30 00:04:26  [501005]CODELINE_INDICATION_MSG 010.150.006.046 010.1.11 (28b)  RX  33 bytes
2013/10/30 00:04:26  [501005]  02 8B 64 00 8A 5E EA 23 4A A3 55 A1 73 4A 5A 1A 
2013/10/30 00:04:26  [501005]  A5 A2 A2 00 92 02 02 12 8B 03 00 03 08 00 00 01 
2013/10/30 00:04:26  [501005]  3D 
2013/10/30 00:04:26  [501005]RF_L3_ACK 010.1.11 (28b)  TX  12 bytes
2013/10/30 00:04:26  [501005]  02 8B 34 8C 0E 73 4A 5A 1A A5 A2 A2 
4

3 回答 3

0
findstr "[501005]" input.txt | findstr /V /C:"]  " > output.txt
于 2013-11-07T05:41:05.547 回答
0

这应该删除带有空格的行:

findstr /l /v /c:"] " inputfile > outputfile
于 2013-11-07T08:18:07.577 回答
0

删除[501005]后跟两个空格的行:

findstr /vc:"\[501005]  " input.txt>output.txt
于 2013-11-07T08:42:15.450 回答