【发布时间】:2013-03-27 21:11:38
【问题描述】:
如何用 findstr 检索多行中 "" 之间的所有文本?
例如我有:
1号线
2号线
3号线
“4号线
5号线
6号线
"
7号线
8号线
我需要返回
4号线
5号线
第 6 行
【问题讨论】:
如何用 findstr 检索多行中 "" 之间的所有文本?
例如我有:
1号线
2号线
3号线
“4号线
5号线
6号线
"
7号线
8号线
我需要返回
4号线
5号线
第 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!
)
)
【讨论】: