0
如何通过findstr在多行之间检索“”之间的所有文本? 例如我有:
线路1
线路2
行3
“行4
第5行
第6行
”
线7
第8行DOS findstr找到引号之间的所有文本行
和我需要返回
第4行
第5行
Lin e 6
如何通过findstr在多行之间检索“”之间的所有文本? 例如我有:
线路1
线路2
行3
“行4
第5行
第6行
”
线7
第8行DOS findstr找到引号之间的所有文本行
和我需要返回
第4行
第5行
Lin e 6
使用您的样本数据......这是我可以在没有太多努力的情况下获得的刚度。
“file'txt”包含您的数据......
@echo off
setlocal enabledelayedexpansion
set quote=
for /f "tokens=*" %%a in (file.txt) do (
set str=%%a
set str=!str:"=:!
if not "!str!"=="!str::=!" (
if defined quote (
set quote=
for %%b in (^"%%a) do set str=%%~b
if not "!str!"=="" if not "!str: =!"=="" echo !str!
) else (
set quote=1
for %%b in (%%a^") do set str=%%~b
)
)
if defined quote (
if not "!str!"=="" if not "!str: =!"=="" echo !str!
)
)
上面的例子完美的工作,但我不能使它找到包含特定字符串的引号之间的所有行。因此,在上面的示例中,我需要返回第4行 第5行 第6行(带有换行符的引号之间的所有行),仅当引号之间的文本包含行5 – Adrian 2013-04-08 20:49:21
相关:我如何使用FINDSTR新行正则表达式(http://stackoverflow.com/questions/5631752/how-can -i-使用-FINDSTR与 - 新行正则表达式)。 – MikeM 2013-03-27 21:19:29