我正在使用StreamWriter
-I在文件夹中的n个文件中查找字符串。同时将结果写入新文件。
我需要在所有文件中找到字符串“IDC”以及旁边的数字。 但是在文件的某些行上,IDC分布在两行,我的搜索只返回第一行。
FINDSTR
如果IDC分布在两行上,可以帮助将下一行复制到输出文件中。
答案 0 :(得分:0)
Microsoft的findstr严格基于行。实际上不可能搜索一行中不完全存在的字符串并获得所有行输出。
但是可以定义多个搜索字符串,这些字符串在处理下一行之前在一行上一个接一个地使用,直到其中一个搜索字符串返回正匹配或者搜索字符串都不匹配当前行上的字符串。
示例:
%SystemRoot%\System32\findstr.exe /R /C:"IDC-" /C:"^[0-2][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9] \*\*[0-9][0-9.]*\*\*;" *.txt
Findstr(SS64文章)使用当前文件夹的所有*.txt
个文件中的这些选项进行搜索
IDC-
敏感的行或使用这两个搜索字符串,找到所有3行提供的示例并以正确的顺序输出, FINDSTR 忽略其他不包含IDC-
或匹配第二个正则表达式搜索字符串的行
注意:SS64文章FINDSTR - Searching across Line Breaks解释了如何进行包含换行符的搜索。但输出只是找到的多行字符串开始的第一行。