簡體   English   中英

DOS findstr查找引號之間帶有文本的所有行

[英]DOS findstr to find all the lines with text between quotes

如何用findstr檢索多行之間“”之間的所有文本? 例如我有:
1號線
2號線
3號線
“第4行
5號線
6號線

7號線
8號線

我需要返回
4號線
5號線
6號線

使用您的樣本數據...不用付出太多努力就可以做到。

'文件'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!
  )
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM